X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit-ng%2Fserver%2Fupload.c;h=3c40d9fed412857f6fe863679be5caeeda8cb661;hb=07f2827e011e19b2f1b87a3f2037b4311bed59ea;hp=6854acf8ae726f4fdb6e3a7ab9421e7f1faa2766;hpb=a603728a26fcc593a57b421229b7575e29716ea4;p=citadel.git diff --git a/webcit-ng/server/upload.c b/webcit-ng/server/upload.c index 6854acf8a..3c40d9fed 100644 --- a/webcit-ng/server/upload.c +++ b/webcit-ng/server/upload.c @@ -146,12 +146,28 @@ struct uploaded_file pop_upload(char *id) { } +// Load the attachments from an existing message. This is typically used when forwarding a message, +// so the attachments don't have to be sent out to the browser and back. +void load_attachments_from_message(struct http_transaction *h, struct ctdlsession *c, char *name) { + syslog(LOG_DEBUG, "\033[33mload_attachments_from_message: method is \033[35m%s\033[33m, name is \033[33m%s\033[0m", h->method, name); + do_405(h); +} + + // Handle operations on a specific upload void specific_upload(struct http_transaction *h, struct ctdlsession *c, char *name) { int i; struct uploaded_file *u; struct uploaded_file this_one; + syslog(LOG_DEBUG, "\033[33mspecific_upload: method is \033[35m%s\033[33m, name is \033[33m%s\033[0m", h->method, name); + + // GET of a msgnum is a request to load the attachments from an existing message. + if ( (!strcasecmp(h->method, "GET")) && (atol(name) > 0) ) { + load_attachments_from_message(h, c, name); + return; + } + if (upload_list == NULL) { do_404(h); return;