From: Neil Brown Date: Fri, 20 Apr 2007 02:42:30 +0000 (+1000) Subject: Compile portmap with -pie X-Git-Tag: portmap_6.0~17 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=0cd3b8fd8f4bf70b64f06ff35e2122fcfac32708;p=portmap.git Compile portmap with -pie This is from SuSE/Fedora. I think it makes address space randomisation work. I don't know what 'visibility "hidden"' is all about.. --- diff --git a/Makefile b/Makefile index 90e882a..f4debe1 100644 --- a/Makefile +++ b/Makefile @@ -99,13 +99,14 @@ SHELL = /bin/sh COPT = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \ $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(SA_LEN) \ $(LOOPBACK) $(SETPGRP) -CFLAGS = $(COPT) -O $(NSARCHS) -Wall -Wstrict-prototypes +CFLAGS = $(COPT) -O $(NSARCHS) -Wall -Wstrict-prototypes \ + -fpie OBJECTS = portmap.o pmap_check.o from_local.o all: portmap pmap_dump pmap_set portmap: $(OBJECTS) - $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS) + $(CC) $(CFLAGS) -pie -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS) pmap_dump: pmap_dump.c $(CC) $(CFLAGS) -o $@ $? $(LIBS) diff --git a/pmap_check.c b/pmap_check.c index 2b8914e..1fed2e1 100644 --- a/pmap_check.c +++ b/pmap_check.c @@ -67,9 +67,9 @@ sccsid[] = "@(#) pmap_check.c 1.8 96/07/07 10:49:10"; static void logit(int severity, struct sockaddr_in *addr, u_long procnum, u_long prognum, char *text); static void toggle_verboselog(int sig); -int verboselog = 0; -int allow_severity = LOG_INFO; -int deny_severity = LOG_WARNING; +int verboselog __attribute ((visibility ("hidden"))) = 0; +int allow_severity __attribute ((visibility ("hidden"))) = LOG_INFO; +int deny_severity __attribute ((visibility ("hidden"))) = LOG_WARNING; /* A handful of macros for "readability". */ diff --git a/pmap_check.h b/pmap_check.h index 3a00b21..ba18f33 100644 --- a/pmap_check.h +++ b/pmap_check.h @@ -18,9 +18,9 @@ extern int check_privileged_port(struct sockaddr_in *addr, u_long prog, u_long port); extern int check_callit(struct sockaddr_in *addr, u_long proc, u_long prog, u_long aproc); -extern int verboselog; -extern int allow_severity; -extern int deny_severity; +extern int verboselog __attribute__ ((visibility ("hidden"))); +extern int allow_severity __attribute__ ((visibility ("hidden"))); +extern int deny_severity __attribute__ ((visibility ("hidden"))); #ifdef LOOPBACK_SETUNSET #define CHECK_SETUNSET check_setunset