X-Original-To: alpine-aports@mail.alpinelinux.org Delivered-To: alpine-aports@mail.alpinelinux.org Received: from mail.alpinelinux.org (dallas-a1.alpinelinux.org [127.0.0.1]) by mail.alpinelinux.org (Postfix) with ESMTP id E1ABFDC09F3 for ; Sun, 31 Jan 2016 06:37:11 +0000 (UTC) Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 3A6B5DC0100 for ; Sun, 31 Jan 2016 06:37:10 +0000 (UTC) Received: by mail-lb0-f169.google.com with SMTP id bc4so59678384lbc.2 for ; Sat, 30 Jan 2016 22:37:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=8ufVAFXvmpQh9z62/Ze5AVeXD8hSujLDpQFJbzuwpMo=; b=k9ALQ7pqcv/AcMaYFaKq/KFLPuFcDUS5OO0PJnALXrnEne+dJvRjd08WYa2jl8g3M5 mQ0GwkAUCMAF7SAF5AWFfMiU0/hwo+HIh9ZIyHOPXrkIJtxLgf1ZR1fDxRVNO18qSAGi sPuJoY7vm/8G0qSaaXEwSqBGLhT0Nrm0wx7+PCBHDMcsF0PkXLsEe5MkFbB1keiibr+Y TpHkOyCYMN9LpRE/aJ6t8YLY510j9YPgRmnC5aqxxPoZrs4zY5wzxkhFYnBhUmbWFYUo Ib/m6mVCy3hDfOht9cTPUSpczj10nCD8XmpGeN6ySUGQFFlHe/X2SZzP0J5mGd6hRmUm Kfow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=8ufVAFXvmpQh9z62/Ze5AVeXD8hSujLDpQFJbzuwpMo=; b=RHEq/8vOdbbpimGyfMDGhJlZFUVyEoMt0+wYfmHD/Aa4X3P8sH5c0QS5ONBbytpPY2 kkHARAeAS6RELcR6+l+RixH23k/Sis7cLRQzbVixp8zqfQnDTXhC7gVS4939+BVUBr1X dOgubdn/zvp48bRIVu8+rRKC8MttKz0gpliF/oHGJtbJMzX7vgc06pWT7s1Z1HZxecVf hTNL6EDelg8UYcoarMRFcD/XdtfVd9IMemx+kvScD98LuhVzOWK0ymJvQgF3TWR0qdnx 9rb1JXSI6RmYOh5SyEIZkYe7pLBgScA0fICkraX8OU7XQKnRcvO1NP9906T2DL2Qf/dr /nSA== X-Gm-Message-State: AG10YOSyS4blwOQU+9jdOyEI5qyjXHnxIXLy4HlUHPUea9x448kyRYFdaVkKJfLsGpwkVXFPutk5wqehOWWR6A== X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 X-Received: by 10.112.72.34 with SMTP id a2mr4980866lbv.18.1454222229078; Sat, 30 Jan 2016 22:37:09 -0800 (PST) Received: by 10.25.39.4 with HTTP; Sat, 30 Jan 2016 22:37:08 -0800 (PST) Received: by 10.25.39.4 with HTTP; Sat, 30 Jan 2016 22:37:08 -0800 (PST) In-Reply-To: <1454194710-22129-1-git-send-email-developer@it-offshore.co.uk> References: <1454194710-22129-1-git-send-email-developer@it-offshore.co.uk> Date: Sun, 31 Jan 2016 08:37:08 +0200 Message-ID: Subject: Re: [alpine-aports] [PATCH] testing/mini-sendmail: new aport From: Valery Kartel To: Stuart Cardall Cc: alpine-aports@lists.alpinelinux.org Content-Type: multipart/alternative; boundary=001a11c33e22638cd9052a9b7fba X-Virus-Scanned: ClamAV using ClamSMTP --001a11c33e22638cd9052a9b7fba Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable It is the same as the busybox sendmail 31 =D1=81=D1=96=D1=87. 2016 00:58 "Stuart Cardall" =D0=BF=D0=B8=D1=88=D0=B5: > --- > testing/mini-sendmail/APKBUILD | 59 > +++++++++++++++++++++++++++++++++++++ > testing/mini-sendmail/README.alpine | 5 ++++ > testing/mini-sendmail/sh.c | 33 +++++++++++++++++++++ > 3 files changed, 97 insertions(+) > create mode 100644 testing/mini-sendmail/APKBUILD > create mode 100644 testing/mini-sendmail/README.alpine > create mode 100644 testing/mini-sendmail/sh.c > > diff --git a/testing/mini-sendmail/APKBUILD > b/testing/mini-sendmail/APKBUILD > new file mode 100644 > index 0000000..c7b51d2 > --- /dev/null > +++ b/testing/mini-sendmail/APKBUILD > @@ -0,0 +1,59 @@ > +# Contributor: Stuart Cardall > +# Maintainer: Stuart Cardall > +pkgname=3Dmini-sendmail > +_realname=3Dmini_sendmail > +pkgver=3D1.3.9 > +pkgrel=3D0 > +pkgdesc=3D"Accept mail inside a chroot + wrapper for /bin/sh" > +url=3D"http://acme.com/software/mini_sendmail/" > +arch=3D"all" > +license=3D"custom" > +depends=3D"" > +depends_dev=3D"" > +makedepends=3D"$depends_dev" > +subpackages=3D"$pkgname-doc" > +source=3D"http://www.acme.com/software/$_realname/$_realname-$pkgver.tar= .gz > + README.alpine > + sh.c > + " > + > +_builddir=3D"$srcdir"/$_realname-$pkgver > +prepare() { > + local i > + cd "$_builddir" > + for i in $source; do > + case $i in > + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; > + esac > + done > +} > + > +build() { > + cd "$_builddir" > + sed -i "s|^BINDIR.*|BINDIR =3D $pkgdir/var/lib/mini-sendmail|" > Makefile > + sed -i "s|^MANDIR.*|MANDIR =3D $pkgdir/usr/share/man|" Makefile > + sed -i 's|cp mini_sendmail.8.*|cp mini_sendmail.8 > $(MANDIR)/man8/|' Makefile > + make || return 1 > + cp "$srcdir"/sh.c ./ > + gcc sh.c -o sh -static || return 1 > +} > + > +package() { > + cd "$_builddir" > + mkdir -p "$pkgdir"/var/lib/mini-sendmail > + mkdir -p "$pkgdir"/usr/share/man/man8 > + mkdir -p "$pkgdir"/usr/share/doc/mini-sendmail > + make DESTDIR=3D"$pkgdir" install || return 1 > + install -Dm755 sh "$pkgdir"/var/lib/mini-sendmail/ > + install -Dm644 "$srcdir"/README.alpine > "$pkgdir"/usr/share/doc/mini-sendmail/ > +} > + > +md5sums=3D"0769b6d3ba64fa77a52a90c8866fc4ed mini_sendmail-1.3.9.tar.gz > +e320e6e098a3f11895fe1cb19f10e4aa README.alpine > +72508a076484adb3eaf8404292581aa2 sh.c" > +sha256sums=3D"2e2741ade434808b2b95c7df7b2016a4a7e629c3d6c87468a7f58fb183= a1967b > mini_sendmail-1.3.9.tar.gz > +d0d21a3fe9c38c84b31ac5290013e1d4021b739372265b3e1c496f73e03dac91 > README.alpine > +81928177bfc07d77fd54e95c5af396b865201dbd4c94b703283b2140f6306f7f sh.c" > +sha512sums=3D"b28c39d94b77acc27a8c9e99583904b43815936b2bf7e27b996685784f= f1bc9882bdfc57822ddf62d3198f38ec3df0b766289115cb4e6c23abee93884d2d6bb9 > mini_sendmail-1.3.9.tar.gz > +d7b6d145fa05a0b3cffd3dfe6bb00593d7891e7eb151710c040557af48aee1399ed0c68f= a70f51d458f0c50dbb619fdda6804f2a69a1424d4b25b4ff13a8e197 > README.alpine > +6ef9cd763a5b6d07f116b3785ba5d7a6e15ddcd56004c6fd193feb247e9630716b5c332a= b0117fd1acccbb0ff3fe294f433944a1a05284b912780e40ade1cb50 > sh.c" > diff --git a/testing/mini-sendmail/README.alpine > b/testing/mini-sendmail/README.alpine > new file mode 100644 > index 0000000..d8aff8a > --- /dev/null > +++ b/testing/mini-sendmail/README.alpine > @@ -0,0 +1,5 @@ > +PHP launches sendmail via system(), which in turn uses =E2=80=9C/bin/sh = -c=E2=80=9D > internally. > + > +/var/lib/mini-sendmail/sh is a wrapper that supports being called with > =E2=80=9C-c command=E2=80=9D to launch sendmail. > + > +https://knzl.de/setting-up-a-chroot-for-php/ > diff --git a/testing/mini-sendmail/sh.c b/testing/mini-sendmail/sh.c > new file mode 100644 > index 0000000..a42c88b > --- /dev/null > +++ b/testing/mini-sendmail/sh.c > @@ -0,0 +1,33 @@ > +/* /bin/sh wrapper for mini_sendmail > + by Sebastian Kienzl > + https://knzl.de/setting-up-a-chroot-for-php/ > +*/ > +#include > +#include > +#include > +#include > + > +#define MAXARG 64 > + > +int main( int argc, char* const argv[] ) { > + char* args[ MAXARG ] =3D {}; > + > + if( argc < 3 || strcmp( argv[1], "-c" ) !=3D 0 ) { > + fprintf( stderr, "Usage: %s -c \n", argv[0] ); > + return 1; > + } > + > + { > + char* token; > + int i =3D 0; > + char* argStr =3D strdup( argv[2] ); > + while( ( token =3D strsep( &argStr, " " ) ) !=3D NULL ) { > + if( token && strlen( token ) ) > + args[ i++ ] =3D token; > + if( i >=3D MAXARG ) > + return 2; > + } > + } > + > + return execvp( args[0], args ); > +} > -- > 2.7.0 > > > > --- > Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org > Help: alpine-aports+help@lists.alpinelinux.org > --- > > --001a11c33e22638cd9052a9b7fba Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

It is the same as the busybox sendmail

31 =D1=81=D1=96=D1=87. 2016 00:58 "Stuart C= ardall" <developer@i= t-offshore.co.uk> =D0=BF=D0=B8=D1=88=D0=B5:
=
---
=C2=A0testing/mini-sendmail/APKBUILD=C2=A0 =C2=A0 =C2=A0 | 59 +++++++++++++= ++++++++++++++++++++++++
=C2=A0testing/mini-sendmail/README.alpine |=C2=A0 5 ++++
=C2=A0testing/mini-sendmail/sh.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 33 +++= ++++++++++++++++++
=C2=A03 files changed, 97 insertions(+)
=C2=A0create mode 100644 testing/mini-sendmail/APKBUILD
=C2=A0create mode 100644 testing/mini-sendmail/README.alpine
=C2=A0create mode 100644 testing/mini-sendmail/sh.c

diff --git a/testing/mini-sendmail/APKBUILD b/testing/mini-sendmail/APKBUIL= D
new file mode 100644
index 0000000..c7b51d2
--- /dev/null
+++ b/testing/mini-sendmail/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
+# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
+pkgname=3Dmini-sendmail
+_realname=3Dmini_sendmail
+pkgver=3D1.3.9
+pkgrel=3D0
+pkgdesc=3D"Accept mail inside a chroot + wrapper for /bin/sh" +url=3D"http://acme.com/software/mini_sendmail/"= ;
+arch=3D"all"
+license=3D"custom"
+depends=3D""
+depends_dev=3D""
+makedepends=3D"$depends_dev"
+subpackages=3D"$pkgname-doc"
+source=3D"http://www.acme.com= /software/$_realname/$_realname-$pkgver.tar.gz
+=C2=A0 =C2=A0 =C2=A0 =C2=A0README.alpine
+=C2=A0 =C2=A0 =C2=A0 =C2=A0sh.c
+=C2=A0 =C2=A0 =C2=A0 =C2=A0"
+
+_builddir=3D"$srcdir"/$_realname-$pkgver
+prepare() {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0local i
+=C2=A0 =C2=A0 =C2=A0 =C2=A0cd "$_builddir"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0for i in $source; do
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0case $i in
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*.patch) msg $i; pa= tch -p1 -i "$srcdir"/$i || return 1;;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0esac
+=C2=A0 =C2=A0 =C2=A0 =C2=A0done
+}
+
+build() {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0cd "$_builddir"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0sed -i "s|^BINDIR.*|BINDIR =3D $pkgdir/var= /lib/mini-sendmail|" Makefile
+=C2=A0 =C2=A0 =C2=A0 =C2=A0sed -i "s|^MANDIR.*|MANDIR =3D $pkgdir/usr= /share/man|" Makefile
+=C2=A0 =C2=A0 =C2=A0 =C2=A0sed -i 's|cp mini_sendmail.8.*|cp mini_send= mail.8 $(MANDIR)/man8/|' Makefile
+=C2=A0 =C2=A0 =C2=A0 =C2=A0make || return 1
+=C2=A0 =C2=A0 =C2=A0 =C2=A0cp "$srcdir"/sh.c ./
+=C2=A0 =C2=A0 =C2=A0 =C2=A0gcc sh.c -o sh -static || return 1
+}
+
+package() {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0cd "$_builddir"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mkdir -p "$pkgdir"/var/lib/mini-sendm= ail
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mkdir -p "$pkgdir"/usr/share/man/man8=
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mkdir -p "$pkgdir"/usr/share/doc/mini= -sendmail
+=C2=A0 =C2=A0 =C2=A0 =C2=A0make DESTDIR=3D"$pkgdir" install || r= eturn 1
+=C2=A0 =C2=A0 =C2=A0 =C2=A0install -Dm755 sh "$pkgdir"/var/lib/m= ini-sendmail/
+=C2=A0 =C2=A0 =C2=A0 =C2=A0install -Dm644 "$srcdir"/README.alpin= e "$pkgdir"/usr/share/doc/mini-sendmail/
+}
+
+md5sums=3D"0769b6d3ba64fa77a52a90c8866fc4ed=C2=A0 mini_sendmail-1.3.9= .tar.gz
+e320e6e098a3f11895fe1cb19f10e4aa=C2=A0 README.alpine
+72508a076484adb3eaf8404292581aa2=C2=A0 sh.c"
+sha256sums=3D"2e2741ade434808b2b95c7df7b2016a4a7e629c3d6c87468a7f58fb= 183a1967b=C2=A0 mini_sendmail-1.3.9.tar.gz
+d0d21a3fe9c38c84b31ac5290013e1d4021b739372265b3e1c496f73e03dac91=C2=A0 REA= DME.alpine
+81928177bfc07d77fd54e95c5af396b865201dbd4c94b703283b2140f6306f7f=C2=A0 sh.= c"
+sha512sums=3D"b28c39d94b77acc27a8c9e99583904b43815936b2bf7e27b9966857= 84ff1bc9882bdfc57822ddf62d3198f38ec3df0b766289115cb4e6c23abee93884d2d6bb9= =C2=A0 mini_sendmail-1.3.9.tar.gz
+d7b6d145fa05a0b3cffd3dfe6bb00593d7891e7eb151710c040557af48aee1399ed0c68fa7= 0f51d458f0c50dbb619fdda6804f2a69a1424d4b25b4ff13a8e197=C2=A0 README.alpine<= br> +6ef9cd763a5b6d07f116b3785ba5d7a6e15ddcd56004c6fd193feb247e9630716b5c332ab0= 117fd1acccbb0ff3fe294f433944a1a05284b912780e40ade1cb50=C2=A0 sh.c"
diff --git a/testing/mini-sendmail/README.alpine b/testing/mini-sendmail/RE= ADME.alpine
new file mode 100644
index 0000000..d8aff8a
--- /dev/null
+++ b/testing/mini-sendmail/README.alpine
@@ -0,0 +1,5 @@
+PHP launches sendmail via system(), which in turn uses =E2=80=9C/bin/sh -c= =E2=80=9D internally.
+
+/var/lib/mini-sendmail/sh is a wrapper that supports being called with =E2= =80=9C-c command=E2=80=9D to launch sendmail.
+
+https://knzl.de/setting-up-a-chroot-for-php/
diff --git a/testing/mini-sendmail/sh.c b/testing/mini-sendmail/sh.c
new file mode 100644
index 0000000..a42c88b
--- /dev/null
+++ b/testing/mini-sendmail/sh.c
@@ -0,0 +1,33 @@
+/* /bin/sh wrapper for mini_sendmail
+=C2=A0 =C2=A0 =C2=A0 =C2=A0by Sebastian Kienzl
+=C2=A0 =C2=A0 =C2=A0 =C2=A0https://knzl.de/setting-up-a= -chroot-for-php/
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define MAXARG 64
+
+int main( int argc, char* const argv[] ) {
+=C2=A0 =C2=A0 char* args[ MAXARG ] =3D {};
+
+=C2=A0 =C2=A0 if( argc < 3 || strcmp( argv[1], "-c" ) !=3D 0 = ) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 fprintf( stderr, "Usage: %s -c <cmd>= ;\n", argv[0] );
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 return 1;
+=C2=A0 =C2=A0 }
+
+=C2=A0 =C2=A0 {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 char* token;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 int i =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 char* argStr =3D strdup( argv[2] );
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 while( ( token =3D strsep( &argStr, "= " ) ) !=3D NULL ) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if( token && strlen( tok= en ) )
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 args[ i++ ] =3D to= ken;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if( i >=3D MAXARG )
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return 2;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
+=C2=A0 =C2=A0 }
+
+=C2=A0 =C2=A0 return execvp( args[0], args );
+}
--
2.7.0



---
Unsubscribe:=C2=A0 alpine-aports+unsubscribe@lists.alpinelinux.org
Help:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0alpine-aports+help@lists.alpinelinux.org
---

--001a11c33e22638cd9052a9b7fba-- --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---