Compare commits

..

4 Commits

Author SHA1 Message Date
09ea57f146 Version v0.2.100 - Correct bug 2025-08-27 09:15:30 -04:00
0ae2423f19 Version v0.2.99 - Correct bug 2025-08-27 09:12:58 -04:00
3859e6492a Version v0.2.98 - Silent mode 2025-08-27 09:03:22 -04:00
0978d0323a Version v0.2.96 - Refactor code 2025-08-27 09:00:44 -04:00

18
otp.c
View File

@@ -315,9 +315,8 @@ int command_line_mode(int argc, char* argv[]) {
}
free(default_pad);
// Call encrypt_text and then comment about using default pad
int result = encrypt_text(pad_identifier, text);
return result;
// Call encrypt_text and return result
return encrypt_text(pad_identifier, text);
} else {
printf("Error: No default pad configured. Specify pad explicitly or configure default pad.\n");
return 1;
@@ -345,8 +344,8 @@ int command_line_mode(int argc, char* argv[]) {
else if (argc == 3) {
// Check if the argument looks like an encrypted message (starts with -----)
if (strncmp(argv[2], "-----BEGIN OTP MESSAGE-----", 27) == 0) {
// Inline decrypt with message only
return decrypt_text(NULL, argv[2]);
// Inline decrypt with message only - use silent mode for command line
return decrypt_text_silent(NULL, argv[2]);
} else {
// Check if it's a file (contains . or ends with known extensions)
if (strstr(argv[2], ".") != NULL) {
@@ -365,7 +364,8 @@ int command_line_mode(int argc, char* argv[]) {
return 1;
} else {
// Legacy format: pad_chksum and message, or file with output
return decrypt_text(argv[2], argv[3]);
// Use silent mode for command line when message is provided
return decrypt_text_silent(argv[2], argv[3]);
}
}
else if (argc == 5 && strcmp(argv[3], "-o") == 0) {
@@ -1530,7 +1530,7 @@ int encrypt_text(const char* pad_identifier, const char* input_text) {
if (is_interactive) {
printf("\n\n%s\n\n", ascii_output);
} else {
printf("%s", ascii_output);
printf("%s\n", ascii_output); // Add newline for proper piping with tee
}
// Cleanup
@@ -2907,6 +2907,7 @@ int universal_decrypt(const char* input_data, const char* output_target, decrypt
if (mode == DECRYPT_MODE_FILE_TO_TEXT) {
printf("Decrypting ASCII armored file...\n");
}
// Note: DECRYPT_MODE_FILE_TO_FILE should be completely silent for piping
} else {
// Text input (interactive or piped)
const char* message_text;
@@ -3063,8 +3064,11 @@ int universal_decrypt(const char* input_data, const char* output_target, decrypt
}
fclose(output_fp);
// Only show success messages in non-silent modes
if (mode != DECRYPT_MODE_FILE_TO_FILE) {
printf("File decrypted successfully: %s\n", output_file);
printf("Note: ASCII format does not preserve original filename/permissions\n");
}
} else {
// Text output to stdout
ciphertext[ciphertext_len] = '\0';