mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-02 21:09:44 +00:00
use C-wrapper for setgid perl script
Because perl-suid does not exist on wheezy.
This commit is contained in:
parent
2401834625
commit
46c17bd23b
7
Makefile
7
Makefile
@ -5,7 +5,9 @@ DESTDIR=
|
||||
#SUBDIRS = bin lib www aplinfo
|
||||
SUBDIRS = aplinfo PVE bin www po
|
||||
|
||||
DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_all.deb
|
||||
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
|
||||
|
||||
DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
|
||||
|
||||
all: ${SUBDIRS}
|
||||
|
||||
@ -43,7 +45,8 @@ ${DEB} deb:
|
||||
dpkg-deb --build dest
|
||||
mv dest.deb ${DEB}
|
||||
rm -rf dest
|
||||
lintian ${DEB}
|
||||
# supress lintian error: statically-linked-binary usr/bin/pvemailforward
|
||||
lintian -X binaries ${DEB}
|
||||
|
||||
.PHONY: upload
|
||||
upload: ${DEB} check
|
||||
|
10
bin/Makefile
10
bin/Makefile
@ -13,6 +13,7 @@ SCRIPTS = \
|
||||
pvedaemon \
|
||||
pveversion \
|
||||
pvesubscription \
|
||||
pvemailforward.pl \
|
||||
pveperf
|
||||
|
||||
MANS = \
|
||||
@ -25,7 +26,7 @@ MANS = \
|
||||
pvesubscription.1 \
|
||||
pveperf.1
|
||||
|
||||
all: ${MANS}
|
||||
all: ${MANS} pvemailforward
|
||||
|
||||
%.1: %.1.pod
|
||||
rm -f $@
|
||||
@ -46,12 +47,15 @@ pvesubscription.1.pod: pvesubscription
|
||||
vzrestore.1.pod: vzrestore
|
||||
perl -I.. ./vzrestore printmanpod >$@
|
||||
|
||||
pvemailforward: pvemailforward.c
|
||||
gcc $< -o $@ -g -O2 -Wall -ldl -lc
|
||||
|
||||
.PHONY: install
|
||||
install: ${SCRIPTS} ${MANS} pvemailforward
|
||||
perl -I.. ./pvesh verifyapi
|
||||
install -d ${BINDIR}
|
||||
install -m 0755 ${SCRIPTS} ${BINDIR}
|
||||
install -m 2755 -g www-data pvemailforward ${BINDIR}
|
||||
install -s -m 2755 -g www-data pvemailforward ${BINDIR}
|
||||
install -d ${MAN1DIR}
|
||||
install -m 0644 ${MANS} ${MAN1DIR}
|
||||
install -d ${PODDIR}
|
||||
@ -67,5 +71,5 @@ distclean: clean
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *~ ${MANS} *.1.pod
|
||||
rm -rf *~ ${MANS} *.1.pod pvemailforward
|
||||
set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
|
||||
|
17
bin/pvemailforward.c
Normal file
17
bin/pvemailforward.c
Normal file
@ -0,0 +1,17 @@
|
||||
/* see 'man perlsec'
|
||||
*
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define REAL_PATH "/usr/bin/pvemailforward.pl"
|
||||
|
||||
int main(ac, av)
|
||||
char **av;
|
||||
{
|
||||
execv(REAL_PATH, av);
|
||||
|
||||
fprintf(stderr, "exec '%s' failed\n", REAL_PATH);
|
||||
|
||||
return -1;
|
||||
}
|
Loading…
Reference in New Issue
Block a user