about summary refs log tree commit diff
path: root/pkgs/by-name/mp
diff options
context:
space:
mode:
authorTomo <68489118+tomodachi94@users.noreply.github.com>2024-05-20 15:50:29 -0700
committerTomo <68489118+Tomodachi94@users.noreply.github.com>2024-05-20 16:08:34 -0700
commit0b43348b0679f6bf92054e4b56e23e6feef5e45a (patch)
tree9fdce5ba5442e5e61a4a600143e947757955cb17 /pkgs/by-name/mp
parent087055ed4fc526b11c736bdd9b9d8e00d0c486bf (diff)
mpack: move to pkgs/by-name/mp
Diffstat (limited to 'pkgs/by-name/mp')
-rw-r--r--pkgs/by-name/mp/mpack/CVE-2011-4919.patch23
-rw-r--r--pkgs/by-name/mp/mpack/build-fix.patch29
-rw-r--r--pkgs/by-name/mp/mpack/package.nix36
-rw-r--r--pkgs/by-name/mp/mpack/sendmail-via-execvp.diff12
4 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/by-name/mp/mpack/CVE-2011-4919.patch b/pkgs/by-name/mp/mpack/CVE-2011-4919.patch
new file mode 100644
index 0000000000000..10b9a1116ef39
--- /dev/null
+++ b/pkgs/by-name/mp/mpack/CVE-2011-4919.patch
@@ -0,0 +1,23 @@
+commit 0c87201f64491575350b18d04c62ec142e119d1f
+Author: Sebastian Pipping <sebastian@pipping.org>
+Date:   Sat, 31 Dec 2011 19:17:20 +0000 (20:17 +0100)
+Source: https://web.archive.org/web/20120128080247/http://git.goodpoint.de/?p=mpack.git;a=commitdiff;h=0c87201f64491575350b18d04c62ec142e119d1f
+
+    Fix permissions
+
+diff --git a/unixos.c b/unixos.c
+index fa6d0a7..0e2f469 100644 (file)
+--- a/unixos.c
++++ b/unixos.c
+@@ -134,9 +134,9 @@ FILE *os_createnewfile(char *fname)
+     FILE *ret;
+      
+ #ifdef O_EXCL
+-    fd=open(fname, O_RDWR|O_CREAT|O_EXCL, 0644);
++    fd=open(fname, O_RDWR|O_CREAT|O_EXCL, 0600);
+ #else
+-    fd=open(fname, O_RDWR|O_CREAT|O_TRUNC, 0644);
++    fd=open(fname, O_RDWR|O_CREAT|O_TRUNC, 0600);
+ #endif
+ 
+     if (fd == -1)
diff --git a/pkgs/by-name/mp/mpack/build-fix.patch b/pkgs/by-name/mp/mpack/build-fix.patch
new file mode 100644
index 0000000000000..0329bedd07f39
--- /dev/null
+++ b/pkgs/by-name/mp/mpack/build-fix.patch
@@ -0,0 +1,29 @@
+diff -ubr mpack-1.6-orig/unixos.c mpack-1.6/unixos.c
+--- mpack-1.6-orig/unixos.c	2013-08-17 14:32:38.102772775 +0200
++++ mpack-1.6/unixos.c	2013-08-17 14:32:43.180792505 +0200
+@@ -38,10 +38,6 @@
+ #define MAXHOSTNAMELEN 64
+ #endif
+ 
+-extern int errno;
+-extern char *malloc();
+-extern char *getenv();
+-
+ int overwrite_files = 0;
+ int didchat;
+ 
+Only in mpack-1.6: unixos.o
+Only in mpack-1.6: unixunpk.o
+Only in mpack-1.6: uudecode.o
+diff -ubr mpack-1.6-orig/xmalloc.c mpack-1.6/xmalloc.c
+--- mpack-1.6-orig/xmalloc.c	2013-08-17 14:32:38.102772775 +0200
++++ mpack-1.6/xmalloc.c	2013-08-17 14:33:08.900892319 +0200
+@@ -24,7 +24,6 @@
+  */
+ #include <stdio.h>
+ #include <string.h>
+-extern char *malloc(), *realloc();
+ 
+ char *xmalloc (int size)
+ {
+Only in mpack-1.6: xmalloc.o
diff --git a/pkgs/by-name/mp/mpack/package.nix b/pkgs/by-name/mp/mpack/package.nix
new file mode 100644
index 0000000000000..669ef500c4556
--- /dev/null
+++ b/pkgs/by-name/mp/mpack/package.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "mpack";
+  version = "1.6";
+
+  src = fetchurl {
+    url = "http://ftp.andrew.cmu.edu/pub/mpack/mpack-${version}.tar.gz";
+    sha256 = "0k590z96509k96zxmhv72gkwhrlf55jkmyqlzi72m61r7axhhh97";
+  };
+
+  patches = [ ./build-fix.patch ./sendmail-via-execvp.diff ./CVE-2011-4919.patch ];
+
+  postPatch = ''
+    for f in *.{c,man,pl,unix} ; do
+      substituteInPlace $f --replace /usr/tmp /tmp
+    done
+
+    # this just shuts up some warnings
+    for f in {decode,encode,part,unixos,unixpk,unixunpk,xmalloc}.c ; do
+      sed -i 'i#include <stdlib.h>' $f
+    done
+  '';
+
+  postInstall = ''
+    install -Dm644 -t $out/share/doc/mpack INSTALL README.*
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Utilities for encoding and decoding binary files in MIME";
+    license = licenses.free;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/mp/mpack/sendmail-via-execvp.diff b/pkgs/by-name/mp/mpack/sendmail-via-execvp.diff
new file mode 100644
index 0000000000000..8f10901038d6b
--- /dev/null
+++ b/pkgs/by-name/mp/mpack/sendmail-via-execvp.diff
@@ -0,0 +1,12 @@
+--- mpack-1.6/unixpk.c	2003-07-21 22:50:41.000000000 +0200
++++ mpack-1.6/unixpk.c	2018-09-16 12:57:14.104026964 +0200
+@@ -254,8 +254,9 @@
+ #ifdef SCO
+     execv("/usr/lib/mail/execmail", addr+start);
+ #else
++    execvp("sendmail", addr+start);
+     execv("/usr/lib/sendmail", addr+start);
+     execv("/usr/sbin/sendmail", addr+start);
+ #endif
+     perror("execv");
+     _exit(1);