update from cygnus sources. Get local hostname in a consistent manner,
authorMark Eichin <eichin@mit.edu>
Wed, 13 Mar 1996 20:05:52 +0000 (20:05 +0000)
committerMark Eichin <eichin@mit.edu>
Wed, 13 Mar 1996 20:05:52 +0000 (20:05 +0000)
so we ask for the right local service name.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7622 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/gssftp/ftp/configure.in
src/appl/gssftp/ftpd/Makefile.in
src/appl/gssftp/ftpd/configure.in
src/appl/gssftp/ftpd/ftpd.c

index 5fe00014494b365572218a9b8159bbe53e50b0c8..95fff062c606fe2226f8e165e9dd1913789c8584 100644 (file)
@@ -3,6 +3,7 @@ CONFIG_RULES
 AC_CONST
 AC_PROG_INSTALL
 KRB5_SIGTYPE
+USE_ANAME
 CHECK_SIGPROCMASK
 CHECK_WAIT_TYPE
 DECLARE_SYS_ERRLIST
@@ -11,5 +12,6 @@ AC_HAVE_FUNCS(getcwd getdtablesize)
 AC_CHECK_HEADERS(sys/select.h)
 AC_HEADER_CHECK(termios.h,AC_FUNC_CHECK(cfsetispeed,AC_DEFINE(POSIX_TERMIOS)))
 AC_CHECK_HEADERS(stdlib.h)
+KRB5_LIBRARIES
 V5_USE_SHARED_LIB
 V5_AC_OUTPUT_MAKEFILE
index 666bf37b3ad0dc7169fe2ca3cad333088f05a9a0..16dfeb157d607657441db869307dc3ef82bcba14 100644 (file)
@@ -41,6 +41,7 @@ install::
                ${DESTDIR}$(SERVER_MANDIR)/`echo $$f|sed '$(transform)'`.8; \
        done
 
+
 ftpcmd.c: $(srcdir)/ftpcmd.y
        $(RM) ftpcmd.c y.tab.c
        $(YACC) $(srcdir)/ftpcmd.y
index b8c99a0073889ffec775aa24f0dcefc30e35f0d9..2f60d9081ce5397b58125c962cc80dd8600326ff 100644 (file)
@@ -29,5 +29,6 @@ AC_SUBST([SETENVOBJ])
 fi
 dnl
 USE_ANAME
+KRB5_LIBRARIES
 V5_USE_SHARED_LIB
 V5_AC_OUTPUT_MAKEFILE
index 5a5a287a5cf4bff826ae31f79c692f4c13b42544..cb531ce823b481c94d3281b385e7d90e9f80632d 100644 (file)
@@ -1896,6 +1896,7 @@ char *data;
        char localname[MAXHOSTNAMELEN];
        char service_name[MAXHOSTNAMELEN+10];
        char **service;
+       struct hostent *hp;
 
        chan.initiator_addrtype = GSS_C_AF_INET;
        chan.initiator_address.length = 4;
@@ -1920,7 +1921,14 @@ char *data;
                reply(501, "couldn't get local hostname (%d)\n", errno);
                syslog(LOG_ERR, "Couldn't get local hostname (%d)", errno);
                return 0;
-       }               
+       }
+       if (!(hp = gethostbyname(localname))) {
+               extern int h_errno;
+               reply(501, "couldn't canonicalize local hostname (%d)\n", h_errno);
+               syslog(LOG_ERR, "Couldn't canonicalize local hostname (%d)", h_errno);
+               return 0;
+       }
+       strcpy(localname, hp->h_name);
 
        for (service = gss_services; *service; service++) {
                sprintf(service_name, "%s@%s", *service, localname);