jcs
/subtext
/amendments
/200
folder: Fix notes field entry size, use shorter, random upload filename
jcs made amendment 200 over 2 years ago
--- folder.c Tue Jul 12 22:49:24 2022
+++ folder.c Tue Jul 12 23:32:16 2022
@@ -345,16 +345,14 @@ folder_upload(struct session *s, struct folder *folder
char *initial_filename, char *initial_description)
{
char upload_path[256] = { 0 };
- char time[32];
struct folder_file file = { 0 };
FILE *fp;
SHA1_CTX sha1;
struct stat sb;
- unsigned long now;
struct zmodem_session *zs;
char *data = NULL, *tmp = NULL, *errorstr = NULL;
size_t size;
- short c, ret, error;
+ short c, n, ret, error;
if (!s->user) {
session_printf(s, "Uploading is not available to guests.\r\n"
@@ -382,10 +380,8 @@ folder_upload(struct session *s, struct folder *folder
session_flush(s);
session_pause_return(s, 0, "when you are ready...");
- now = Time;
- strftime(time, sizeof(time), "%Y%m%d%H%M%S", localtime(&now));
- snprintf(upload_path, sizeof(upload_path),
- "%s:upload-%s-%ld", folder->path, time, s->log.id);
+ snprintf(upload_path, sizeof(upload_path), "%s:upload-%08lx%08lx",
+ folder->path, xorshift32(), xorshift32());
zs = ZCreateReceiver(s, upload_path);
zs->DoIACEscape = s->is_telnet;
@@ -541,11 +537,12 @@ file_upload_annotate:
}
for (;;) {
- session_printf(s, "{{B}}Notes:{{/B}} (Optional, ^D when finished.)\r\n");
+ session_printf(s,
+ "{{B}}Notes (Optional, ^D when finished):{{/B}}\r\n");
session_flush(s);
-
- tmp = session_field_input(s, FOLDER_FILE_DESCR_LENGTH,
- FOLDER_FILE_DESCR_LENGTH - 1, file.notes, true, 0);
+
+ tmp = session_field_input(s, 2048, s->terminal_columns - 1,
+ file.notes, true, 0);
if (file.notes != NULL)
free(file.notes);
file.notes = tmp;