From: Jonathan McDowell Date: Mon, 13 Aug 2007 14:51:12 +0000 (+0000) Subject: Fix config structure references for dynamic backends X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/c444d104cdc0250cd23b5013fee3e56000e23ae5?ds=sidebyside;hp=fb43c9ffd09b3f5e8fd35651daed59839221fe36 Fix config structure references for dynamic backends This patch fixes the config structure when dynamic backends are used - the basic issue is that when the backend was loaded, it wouldn't (neccessarily) share the config structure with the program that called it (and had therefore read the config). Thanks to Brett Parker. --- diff --git a/Makefile.in b/Makefile.in index c3382a4..4d551bc 100644 --- a/Makefile.in +++ b/Makefile.in @@ -25,6 +25,7 @@ SRCS = armor.c parsekey.c merge.c keyid.c md5.c sha1.c main.c getcgi.c mem.c \ gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c \ wordlist.c cleankey.c cleanup.c keyarray.c \ $(foreach be,@BACKENDS@,keydb_$(be).c) +PROGS_LDFLAGS_EXTRA = ifeq (x@KEYD@, xyes) PROGS += keyd @@ -38,6 +39,7 @@ ifeq (x@DBTYPE@, xdynamic) LIBS += -ldl BACKENDS = $(foreach be,@BACKENDS@,libkeydb_$(be).so) PROGS += keyd +PROGS_LDFLAGS_EXTRA = -rdynamic SRCS += keyd.c endif @@ -47,7 +49,8 @@ all: .depend $(PROGS) testparse maxpath sixdegrees splitkeys onak.conf \ $(BACKENDS) keyd: keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o - $(CC) $(LDFLAGS) -o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS) + $(CC) $(LDFLAGS) $(PROGS_LDFLAGS_EXTRA) \ + -o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS) libkeydb_db4.so: keydb_db4.o $(CC) -shared $(DB4LIBS) -o libkeydb_db4.so keydb_db4.o $(CORE_OBJS) @@ -63,34 +66,39 @@ keydb_%.o: keydb_%.c splitkeys: splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ) $(CC) $(LDFLAGS) -o splitkeys splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ) \ - $(LIBS) + $(LIBS) $(PROGS_LDFLAGS_EXTRA) testparse: main.o $(OBJS) - $(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS) \ + $(PROGS_LDFLAGS_EXTRA) maxpath: maxpath.o $(OBJS) - $(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS) \ + $(PROGS_LDFLAGS_EXTRA) sixdegrees: sixdegrees.o $(OBJS) - $(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS) \ + $(PROGS_LDFLAGS_EXTRA) stripkey: stripkey.o $(OBJS) - $(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS) \ + $(PROGS_LDFLAGS_EXTRA) gpgwww: gpgwww.o $(OBJS) - $(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS) \ + $(PROGS_LDFLAGS_EXTRA) lookup: lookup.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ) $(CC) $(LDFLAGS) -o lookup lookup.o cleankey.o $(CORE_OBJS) \ - $(KEYDB_OBJ) $(LIBS) + $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA) add: add.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ) $(CC) $(LDFLAGS) -o add add.o cleankey.o \ - $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) + $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA) onak: onak.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ) $(CC) $(LDFLAGS) -o onak onak.o cleankey.o \ - $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) + $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA) onak-conf.o: onak-conf.c onak-conf.h $(CC) $(CFLAGS) -DCONFIGFILE=\"@sysconfdir@/onak.conf\" -c onak-conf.c