Re: [PATCH] updated GSSAPI client split

Derek Robert Price <[email protected]>
Newsgroups gmane.comp.version-control.cvs.bugs
Organization Ximbiot <http://ximbiot.com>
Message-ID <[email protected]>
Alexey Mahotkin wrote:

>[ Several more little things split out.  Needs all of the above patches. ]
>
>TODO: recv_bytes() probably needs to be moved to socket-client.c too, but
>that could be done later.
>
>Kerberos later, and split in at least four pieces.
>
>
>2003-05-07  Alexey Mahotkin <[email protected]>
>
>Move GSSAPI client stuff from client.c to gssapi-client.[ch];
>
>move GSSAPI buffers from server.c to gssapi-client.[ch];
>
>compile gssapi-client.c only if GSSAPI is found by configure;
>
>move global `gcontext' variable to gssapi-client.c and use a simple
>wrapper 
>

I think I've committed all your other patches, but I'm getting errors 
trying to compile this with and without GSSAPI enabled:

--without-gssapi:

> depmode=gcc3 /bin/sh ../depcomp \
> gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../lib -I../diff -I../zlib   -g 
> -O2 -c `test -f 'classify.c' || echo './'`classify.c
> source='client.c' object='client.o' libtool=no \
> depfile='.deps/client.Po' tmpdepfile='.deps/client.TPo' \
> depmode=gcc3 /bin/sh ../depcomp \
> gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../lib -I../diff -I../zlib   -g 
> -O2 -c `test -f 'client.c' || echo './'`client.c
> In file included from gssapi-client.h:17,
>                  from client.c:33:
> ../lib/xgssapi.h:25:28: gssapi/gssapi.h: No such file or directory
> In file included from client.c:33:
> gssapi-client.h:24: parse error before "gcontext"
> gssapi-client.h:24: warning: data definition has no type or storage class
> gssapi-client.h:31: parse error before "gss_ctx_id_t"
> gssapi-client.h:31: parse error before ')' token
> make[2]: *** [client.o] Error 1
> make[2]: Leaving directory `/home/oberon/work/ccvs-patch/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/oberon/work/ccvs-patch'
> make: *** [all] Error 2



--with-gssapi:

> gcc  -g -O2   -o cvs  add.o admin.o annotate.o buffer.o checkin.o 
> checkout.o classify.o client.o commit.o create_adm.o cvsrc.o diff.o 
> edit.o entries.o error.o expand_path.o fileattr.o filesubr.o 
> find_names.o hardlink.o hash.o history.o ignore.o import.o lock.o 
> log.o log-buffer.o login.o logmsg.o main.o mkmodules.o modules.o 
> myndbm.o no_diff.o parseinfo.o patch.o rcs.o rcscmds.o recurse.o 
> release.o remove.o repos.o root.o rsh-client.o run.o scramble.o 
> server.o socket-client.o
> status.o subr.o tag.o update.o version.o vers_ts.o watch.o wrapper.o 
> zlib.o  ../diff/libdiff.a ../lib/libcvs.a ../zlib/libz.a -lcrypt 
> -lgssapi_krb5 -lkrb5 -lk5crypto -lcrypt -lresolv -lcom_err 
> -L/usr/kerberos/lib -lnsl
> client.o: In function `auth_server':
> /home/oberon/work/ccvs-patch/src/client.c:3362: undefined reference to 
> `connect_to_gserver'
> client.o: In function `start_server':
> /home/oberon/work/ccvs-patch/src/client.c:3961: undefined reference to 
> `initialize_gssapi_buffers'
> server.o: In function `serve_gssapi_authenticate':
> /home/oberon/work/ccvs-patch/src/server.c:2272: undefined reference to 
> `cvs_gssapi_wrap_buffer_initialize'
> /home/oberon/work/ccvs-patch/src/server.c:2275: undefined reference to 
> `cvs_gssapi_wrap_buffer_initialize'
> collect2: ld returned 1 exit status
> make[2]: *** [cvs] Error 1
> make[2]: Leaving directory `/home/oberon/work/ccvs-patch/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/oberon/work/ccvs-patch'
> make: *** [all] Error 2



I also reworked your build changes.  New patch for configure.in, 
acinclude.m4, & src/Makefile.am follows:

Index: configure.in
===================================================================
RCS file: /cvsroot/ccvs/configure.in,v
retrieving revision 1.189
diff -u -r1.189 configure.in
--- configure.in	30 Apr 2003 15:28:40 -0000	1.189
+++ configure.in	8 May 2003 17:32:05 -0000
@@ -312,6 +312,9 @@
 AC_SEARCH_LIBS(gethostbyname, netinet)
 
 
+AC_SUBST(cvs_client_sources)
+
+
 dnl
 dnl begin --with-*
 dnl
Index: acinclude.m4
===================================================================
RCS file: /cvsroot/ccvs/acinclude.m4,v
retrieving revision 1.9
diff -u -r1.9 acinclude.m4
--- acinclude.m4	30 Apr 2003 15:28:40 -0000	1.9
+++ acinclude.m4	8 May 2003 17:32:05 -0000
@@ -102,6 +102,8 @@
 [Define if you have GSSAPI with Kerberos version 5 available.])
   CPPFLAGS=$CPPFLAGS$GSSAPI_INCLUDES
 
+  cvs_client_sources="$cvs_client_sources gssapi-client.c gssapi-client.h"
+
   # locate any other headers
   dnl We don't use HAVE_KRB5_H anywhere, but including it here might make it
   dnl easier to spot errors by reading configure output
Index: src/Makefile.am
===================================================================
RCS file: /cvsroot/ccvs/src/Makefile.am,v
retrieving revision 1.25
diff -u -r1.25 Makefile.am
--- src/Makefile.am	8 May 2003 16:28:23 -0000	1.25
+++ src/Makefile.am	8 May 2003 17:32:05 -0000
@@ -92,7 +92,11 @@
 	root.h \
 	server.h \
 	update.h \
-	watch.h
+	watch.h \
+	$(cvs_client_sources)
+
+EXTRA_cvs_SOURCES = \
+	gssapi-client.c gssapi-client.h
 
 cvs_LDADD = \
 	../diff/libdiff.a \




Derek

-- 
                *8^)

Email: [email protected]

Get CVS support at <http://ximbiot.com>!
-- 
f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.