}
+// 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;