From: Arran Cudbard-Bell Date: Sun, 5 Nov 2017 15:14:22 +0000 (+0000) Subject: Explicitly link libfreeradius-io to libfreeradius-server X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70409ffad5a3c248647fb568867ff29d0899af22;p=thirdparty%2Ffreeradius-server.git Explicitly link libfreeradius-io to libfreeradius-server --- diff --git a/src/include/radiusd.h b/src/include/radiusd.h index 5d9cbea75dd..d0275241220 100644 --- a/src/include/radiusd.h +++ b/src/include/radiusd.h @@ -389,7 +389,6 @@ size_t rad_filename_make_safe(UNUSED REQUEST *request, char *out, size_t outlen size_t rad_filename_escape(UNUSED REQUEST *request, char *out, size_t outlen, char const *in, UNUSED void *arg); ssize_t rad_filename_unescape(char *out, size_t outlen, char const *in, size_t inlen); -void talloc_const_free(void const *ptr); char *rad_ajoin(TALLOC_CTX *ctx, char const **argv, int argc, char c); REQUEST *request_alloc(TALLOC_CTX *ctx); REQUEST *request_alloc_fake(REQUEST *oldreq); diff --git a/src/include/talloc.h b/src/include/talloc.h index 7aa94446d8c..57cf1170bab 100644 --- a/src/include/talloc.h +++ b/src/include/talloc.h @@ -41,6 +41,8 @@ void **talloc_array_null_terminate(void **array); void **talloc_array_null_strip(void **array); +void talloc_const_free(void const *ptr); + /* * talloc portability issues. 'const' is not part of the talloc * type, but it is part of the pointer type. But only if diff --git a/src/lib/io/all.mk b/src/lib/io/all.mk index 4d986c6b5e4..9434dbfc143 100644 --- a/src/lib/io/all.mk +++ b/src/lib/io/all.mk @@ -3,7 +3,7 @@ TARGET := libfreeradius-io.a SOURCES := ring_buffer.c message.c atomic_queue.c queue.c time.c channel.c track.c worker.c \ schedule.c network.c control.c -TGT_PREREQS := libfreeradius-util.la +TGT_PREREQS := $(LIBFREERADIUS_SERVER) libfreeradius-util.la TGT_LDLIBS := $(LIBS) TGT_LDFLAGS := $(LDFLAGS) diff --git a/src/lib/util/talloc.c b/src/lib/util/talloc.c index 147b09faac2..6d45da84f45 100644 --- a/src/lib/util/talloc.c +++ b/src/lib/util/talloc.c @@ -268,4 +268,15 @@ void **talloc_array_null_strip(void **array) return new; } +/** Free const'd memory + * + * @param[in] ptr to free. + */ +void talloc_const_free(void const *ptr) +{ + void *tmp; + if (!ptr) return; + memcpy(&tmp, &ptr, sizeof(tmp)); + talloc_free(tmp); +} diff --git a/src/main/util.c b/src/main/util.c index b60d1628bdc..3d86329ef1d 100644 --- a/src/main/util.c +++ b/src/main/util.c @@ -405,15 +405,6 @@ ssize_t rad_filename_unescape(char *out, size_t outlen, char const *in, size_t i return outlen - freespace; /* how many bytes were written */ } -void talloc_const_free(void const *ptr) -{ - void *tmp; - if (!ptr) return; - - memcpy(&tmp, &ptr, sizeof(tmp)); - talloc_free(tmp); -} - /** talloc a buffer to hold the concatenated value of all elements of argv * * @param ctx to allocate buffer in. diff --git a/src/modules/proto_detail/proto_detail.mk b/src/modules/proto_detail/proto_detail.mk index 249e04c0039..27102b37a5a 100644 --- a/src/modules/proto_detail/proto_detail.mk +++ b/src/modules/proto_detail/proto_detail.mk @@ -6,4 +6,4 @@ endif SOURCES := proto_detail.c -TGT_PREREQS := libfreeradius-util.a libfreeradius-io.a +TGT_PREREQS := $(LIBFREERADIUS_SERVER) libfreeradius-util.a libfreeradius-io.a diff --git a/src/modules/proto_radius/proto_radius.mk b/src/modules/proto_radius/proto_radius.mk index 17ec3a8f0e8..5c1f3de0672 100644 --- a/src/modules/proto_radius/proto_radius.mk +++ b/src/modules/proto_radius/proto_radius.mk @@ -6,4 +6,4 @@ endif SOURCES := proto_radius.c -TGT_PREREQS := libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a +TGT_PREREQS := $(LIBFREERADIUS_SERVER) libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a diff --git a/src/modules/proto_vmps/proto_vmps.mk b/src/modules/proto_vmps/proto_vmps.mk index 12941762470..f1a5fa2cb6c 100644 --- a/src/modules/proto_vmps/proto_vmps.mk +++ b/src/modules/proto_vmps/proto_vmps.mk @@ -6,4 +6,4 @@ endif SOURCES := proto_vmps.c -TGT_PREREQS := libfreeradius-util.a libfreeradius-radius.a libfreeradius-vqp.a libfreeradius-io.a +TGT_PREREQS := $(LIBFREERADIUS_SERVER) libfreeradius-util.a libfreeradius-radius.a libfreeradius-vqp.a libfreeradius-io.a diff --git a/src/protocols/ethernet/all.mk b/src/protocols/ethernet/all.mk index ff088397113..b180ae08f1c 100644 --- a/src/protocols/ethernet/all.mk +++ b/src/protocols/ethernet/all.mk @@ -7,4 +7,4 @@ TARGET := libfreeradius-ethernet.a SOURCES := ethernet.c -TGT_PREREQS := libfreeradius-util.a libfreeradius-io.a +TGT_PREREQS := $(LIBFREERADIUS_SERVER) libfreeradius-io.a libfreeradius-util.a