OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | --- a/source3/Makefile.in |
2 | +++ b/source3/Makefile.in |
||
3 | @@ -73,22 +73,22 @@ LDAP_LIBS=@LDAP_LIBS@ |
||
4 | NSCD_LIBS=@NSCD_LIBS@ |
||
5 | UUID_LIBS=@UUID_LIBS@ |
||
6 | LIBWBCLIENT=@LIBWBCLIENT_STATIC@ @LIBWBCLIENT_SHARED@ |
||
7 | -LIBWBCLIENT_LIBS=@LIBWBCLIENT_LIBS@ |
||
8 | +LIBWBCLIENT_LIBS=@LIBWBCLIENT_STATIC@ |
||
9 | PTHREAD_LDFLAGS=@PTHREAD_LDFLAGS@ |
||
10 | PTHREAD_CFLAGS=@PTHREAD_CFLAGS@ |
||
11 | DNSSD_LIBS=@DNSSD_LIBS@ |
||
12 | AVAHI_LIBS=@AVAHI_LIBS@ |
||
13 | POPT_LIBS=@POPTLIBS@ |
||
14 | LIBTALLOC=@LIBTALLOC_STATIC@ @LIBTALLOC_SHARED@ |
||
15 | -LIBTALLOC_LIBS=@LIBTALLOC_LIBS@ |
||
16 | +LIBTALLOC_LIBS=@LIBTALLOC_STATIC@ |
||
17 | LIBTEVENT=@LIBTEVENT_STATIC@ @LIBTEVENT_SHARED@ |
||
18 | LIBTEVENT_LIBS=@LIBTEVENT_LIBS@ |
||
19 | LIBREPLACE_LIBS=@LIBREPLACE_LIBS@ |
||
20 | LIBTDB=@LIBTDB_STATIC@ @LIBTDB_SHARED@ |
||
21 | -LIBTDB_LIBS=@LIBTDB_LIBS@ |
||
22 | +LIBTDB_LIBS=@LIBTDB_STATIC@ |
||
23 | TDB_DEPS=@TDB_DEPS@ |
||
24 | LIBNETAPI=@LIBNETAPI_STATIC@ @LIBNETAPI_SHARED@ |
||
25 | -LIBNETAPI_LIBS=@LIBNETAPI_LIBS@ |
||
26 | +LIBNETAPI_LIBS=@LIBNETAPI_STATIC@ |
||
27 | LIBSMBCLIENT_LIBS=@LIBSMBCLIENT_LIBS@ |
||
28 | LIBSMBSHAREMODES_LIBS=@LIBSMBSHAREMODES_LIBS@ |
||
29 | |||
30 | @@ -216,7 +216,7 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_P |
||
31 | |||
32 | # Note that all executable programs now provide for an optional executable suffix. |
||
33 | |||
34 | -SBIN_PROGS = bin/smbd@EXEEXT@ bin/nmbd@EXEEXT@ @SWAT_SBIN_TARGETS@ @EXTRA_SBIN_PROGS@ |
||
35 | +SBIN_PROGS = bin/samba_multicall@EXEEXT@ bin/smbd@EXEEXT@ bin/nmbd@EXEEXT@ @SWAT_SBIN_TARGETS@ @EXTRA_SBIN_PROGS@ |
||
36 | |||
37 | BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \ |
||
38 | bin/testparm@EXEEXT@ bin/smbstatus@EXEEXT@ bin/smbget@EXEEXT@ \ |
||
39 | @@ -1799,6 +1799,42 @@ bin/.dummy: |
||
40 | dir=bin $(MAKEDIR); fi |
||
41 | @: >> $@ || : > $@ # what a fancy emoticon! |
||
42 | |||
43 | +smbd/server_multicall.o: smbd/server.c smbd/server.o |
||
44 | + @echo Compiling $<.c |
||
45 | + @$(COMPILE_CC_PATH) -Dmain=smbd_main && exit 0;\ |
||
46 | + echo "The following command failed:" 1>&2;\ |
||
47 | + echo "$(COMPILE_CC_PATH)" 1>&2;\ |
||
48 | + $(COMPILE_CC_PATH) >/dev/null 2>&1 |
||
49 | + |
||
50 | +nmbd/nmbd_multicall.o: nmbd/nmbd.c nmbd/nmbd.o |
||
51 | + @echo Compiling $<.c |
||
52 | + @$(COMPILE_CC_PATH) -Dmain=nmbd_main && exit 0;\ |
||
53 | + echo "The following command failed:" 1>&2;\ |
||
54 | + echo "$(COMPILE_CC_PATH)" 1>&2;\ |
||
55 | + $(COMPILE_CC_PATH) >/dev/null 2>&1 |
||
56 | + |
||
57 | +utils/smbpasswd_multicall.o: utils/smbpasswd.c utils/smbpasswd.o |
||
58 | + @echo Compiling $<.c |
||
59 | + @$(COMPILE_CC_PATH) -Dmain=smbpasswd_main && exit 0;\ |
||
60 | + echo "The following command failed:" 1>&2;\ |
||
61 | + echo "$(COMPILE_CC_PATH)" 1>&2;\ |
||
62 | + $(COMPILE_CC_PATH) >/dev/null 2>&1 |
||
63 | + |
||
64 | +SMBD_MULTI_O = $(patsubst smbd/server.o,smbd/server_multicall.o,$(SMBD_OBJ)) |
||
65 | +NMBD_MULTI_O = $(patsubst nmbd/nmbd.o,nmbd/nmbd_multicall.o,$(filter-out $(LIB_DUMMY_OBJ),$(NMBD_OBJ))) |
||
66 | +SMBPASSWD_MULTI_O = $(patsubst utils/smbpasswd.o,utils/smbpasswd_multicall.o,$(filter-out $(LIB_DUMMY_OBJ),$(SMBPASSWD_OBJ))) |
||
67 | +MULTI_O = multi.o |
||
68 | + |
||
69 | +MULTICALL_O = $(sort $(SMBD_MULTI_O) $(NMBD_MULTI_O) $(SMBPASSWD_MULTI_O) $(MULTI_O)) |
||
70 | + |
||
71 | +bin/samba_multicall@EXEEXT@: $(BINARY_PREREQS) $(MULTICALL_O) $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT) @BUILD_POPT@ |
||
72 | + @echo Linking $@ |
||
73 | + @$(CC) -o $@ $(MULTICALL_O) $(LDFLAGS) $(LDAP_LIBS) @SMBD_FAM_LIBS@ \ |
||
74 | + $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ |
||
75 | + $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ |
||
76 | + $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) \ |
||
77 | + $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) |
||
78 | + |
||
79 | bin/smbd@EXEEXT@: $(BINARY_PREREQS) $(SMBD_OBJ) $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT) @BUILD_POPT@ |
||
80 | @echo Linking $@ |
||
81 | @$(CC) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(LDAP_LIBS) @SMBD_FAM_LIBS@ \ |
||
82 | --- /dev/null |
||
83 | +++ b/source3/multi.c |
||
84 | @@ -0,0 +1,35 @@ |
||
85 | +#include <stdio.h> |
||
86 | +#include <string.h> |
||
87 | + |
||
88 | +extern int smbd_main(int argc, char **argv); |
||
89 | +extern int nmbd_main(int argc, char **argv); |
||
90 | +extern int smbpasswd_main(int argc, char **argv); |
||
91 | + |
||
92 | +static struct { |
||
93 | + const char *name; |
||
94 | + int (*func)(int argc, char **argv); |
||
95 | +} multicall[] = { |
||
96 | + { "smbd", smbd_main }, |
||
97 | + { "nmbd", nmbd_main }, |
||
98 | + { "smbpasswd", smbpasswd_main }, |
||
99 | +}; |
||
100 | + |
||
101 | +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) |
||
102 | + |
||
103 | +int main(int argc, char **argv) |
||
104 | +{ |
||
105 | + int i; |
||
106 | + |
||
107 | + for (i = 0; i < ARRAY_SIZE(multicall); i++) { |
||
108 | + if (strstr(argv[0], multicall[i].name)) |
||
109 | + return multicall[i].func(argc, argv); |
||
110 | + } |
||
111 | + |
||
112 | + fprintf(stderr, "Invalid multicall command, available commands:"); |
||
113 | + for (i = 0; i < ARRAY_SIZE(multicall); i++) |
||
114 | + fprintf(stderr, " %s", multicall[i].name); |
||
115 | + |
||
116 | + fprintf(stderr, "\n"); |
||
117 | + |
||
118 | + return 1; |
||
119 | +} |