From a869fc6979d29c77040e3d61453aa9ed817729f2 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Thu, 11 Nov 2021 18:43:42 -0800
Subject: [PATCH] Don't write uploaded filename and description to env
 variables

Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.
---
 src/sbbs3/sbbs.h     | 1 -
 src/sbbs3/upload.cpp | 4 ----
 2 files changed, 5 deletions(-)

diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index fb41ac2217..df7e5a8cff 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -1015,7 +1015,6 @@ public:
 
 	/* upload.cpp */
 	bool	uploadfile(file_t* f);
-	char	sbbsfilename[128],sbbsfiledesc[128]; /* env vars */
 	bool	upload(uint dirnum);
     char	upload_lastdesc[LEN_FDESC+1];
 	bool	bulkupload(uint dirnum);
diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp
index 353b989288..e6d69f9e86 100644
--- a/src/sbbs3/upload.cpp
+++ b/src/sbbs3/upload.cpp
@@ -61,10 +61,6 @@ bool sbbs_t::uploadfile(file_t* f)
 			attr(LIGHTGRAY);
 			bputs(cfg.ftest[i]->workstr);
 
-			safe_snprintf(sbbsfilename,sizeof(sbbsfilename),"SBBSFILENAME=%s",f->name);
-			putenv(sbbsfilename);
-			safe_snprintf(sbbsfiledesc,sizeof(sbbsfiledesc),"SBBSFILEDESC=%s",f->desc);
-			putenv(sbbsfiledesc);
 			SAFEPRINTF(str,"%ssbbsfile.nam",cfg.node_dir);
 			if((stream=fopen(str,"w"))!=NULL) {
 				fprintf(stream, "%s", f->desc);
-- 
GitLab