EXPERIMENTAL Password Hashing
This commit is contained in:
@@ -8,9 +8,9 @@
|
||||
s_JamBase *open_jam_base(char *path) {
|
||||
int ret;
|
||||
s_JamBase *jb;
|
||||
|
||||
|
||||
ret = JAM_OpenMB((char *)path, &jb);
|
||||
|
||||
|
||||
if (ret != 0) {
|
||||
if (ret == JAM_IO_ERROR) {
|
||||
free(jb);
|
||||
@@ -35,12 +35,12 @@ int main(int argc, char **argv) {
|
||||
time_t thetime;
|
||||
int z;
|
||||
int i;
|
||||
|
||||
|
||||
s_JamBase *jb;
|
||||
s_JamMsgHeader jmh;
|
||||
s_JamSubPacket* jsp;
|
||||
s_JamSubfield jsf;
|
||||
|
||||
|
||||
if (argc < 6) {
|
||||
printf("Usage:\n");
|
||||
printf("%s [l|e] filename jambase from subject laddress\n", argv[0]);
|
||||
@@ -50,29 +50,29 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
if (tolower(argv[1][0]) != 'l' && tolower(argv[1][0]) != 'e') {
|
||||
printf("Usage:\n");
|
||||
printf("%s [l|e] filename jambase from subject\n", argv[0]);
|
||||
printf("%s [l|e] filename jambase from subject laddress\n", argv[0]);
|
||||
printf(" l = Local Message, e = Echomail Message\n");
|
||||
printf(" laddress is your network address, and only required on echomail.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
if (tolower(argv[1][0]) == 'e' && argc < 7) {
|
||||
printf("Usage:\n");
|
||||
printf("%s [l|e] filename jambase from subject\n", argv[0]);
|
||||
printf("%s [l|e] filename jambase from subject laddress\n", argv[0]);
|
||||
printf(" l = Local Message, e = Echomail Message\n");
|
||||
printf(" laddress is your network address, and only required on echomail.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
fptr = fopen(argv[2], "r");
|
||||
|
||||
|
||||
if (!fptr) {
|
||||
printf("Unable to open %s\n", argv[2]);
|
||||
exit(1);
|
||||
}
|
||||
body = NULL;
|
||||
totlen = 0;
|
||||
|
||||
|
||||
len = fread(buffer, 1, 256, fptr);
|
||||
while (len > 0) {
|
||||
totlen += len;
|
||||
@@ -85,33 +85,33 @@ int main(int argc, char **argv) {
|
||||
body[totlen] = '\0';
|
||||
len = fread(buffer, 1, 256, fptr);
|
||||
}
|
||||
|
||||
|
||||
fclose(fptr);
|
||||
|
||||
|
||||
for (i=0;i<totlen;i++) {
|
||||
if (body[i] == '\n') {
|
||||
body[i] = '\r';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
jb = open_jam_base(argv[3]);
|
||||
if (!jb) {
|
||||
printf("Unable to open JAM base %s\n", argv[2]);
|
||||
exit(1);
|
||||
}
|
||||
thetime = time(NULL);
|
||||
|
||||
|
||||
JAM_ClearMsgHeader( &jmh );
|
||||
jmh.DateWritten = thetime;
|
||||
|
||||
|
||||
jmh.Attribute |= MSG_LOCAL;
|
||||
|
||||
|
||||
if (tolower(argv[1][0]) == 'l') {
|
||||
jmh.Attribute |= MSG_TYPELOCAL;
|
||||
} else if (tolower(argv[1][0]) == 'e') {
|
||||
jmh.Attribute |= MSG_TYPEECHO;
|
||||
}
|
||||
|
||||
|
||||
jsp = JAM_NewSubPacket();
|
||||
jsf.LoID = JAMSFLD_SENDERNAME;
|
||||
jsf.HiID = 0;
|
||||
@@ -124,13 +124,13 @@ int main(int argc, char **argv) {
|
||||
jsf.DatLen = 3;
|
||||
jsf.Buffer = "ALL";
|
||||
JAM_PutSubfield(jsp, &jsf);
|
||||
|
||||
|
||||
jsf.LoID = JAMSFLD_SUBJECT;
|
||||
jsf.HiID = 0;
|
||||
jsf.DatLen = strlen(argv[5]);
|
||||
jsf.Buffer = (char *)argv[5];
|
||||
JAM_PutSubfield(jsp, &jsf);
|
||||
|
||||
|
||||
if (tolower(argv[1][0]) == 'e') {
|
||||
jsf.LoID = JAMSFLD_OADDRESS;
|
||||
jsf.HiID = 0;
|
||||
@@ -138,7 +138,7 @@ int main(int argc, char **argv) {
|
||||
jsf.Buffer = (char *)argv[6];
|
||||
JAM_PutSubfield(jsp, &jsf);
|
||||
}
|
||||
|
||||
|
||||
while (1) {
|
||||
z = JAM_LockMB(jb, 100);
|
||||
if (z == 0) {
|
||||
@@ -146,7 +146,7 @@ int main(int argc, char **argv) {
|
||||
} else if (z == JAM_LOCK_FAILED) {
|
||||
sleep(1);
|
||||
} else {
|
||||
printf("Failed to lock msg base!\n");
|
||||
printf("Failed to lock msg base!\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -154,11 +154,11 @@ int main(int argc, char **argv) {
|
||||
if (JAM_AddMessage(jb, &jmh, jsp, (char *)body, strlen(body))) {
|
||||
printf("Failed to add message\n");
|
||||
}
|
||||
|
||||
|
||||
JAM_UnlockMB(jb);
|
||||
JAM_DelSubPacket(jsp);
|
||||
}
|
||||
JAM_CloseMB(jb);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user