Package: krb5 Severity: important Version: 1.7dfsg~beta2-2 Tags: patch
Coin,I updated the patch made by Michael Banck, in the same original way, to fix problems introduced in the new code.
Thanks. -- Marc Dequènes (Duck)
Patch for Hurd portability, setting MAXPATHLEN and MAXHOSTNAMELEN where needed and declaring additional weak symbols. There's probably a better way to do this for upstream; it needs a bit more attention towards integration with configure. Patch from Michael Banck <[email protected]>. Kerberos RT #3265 Debian bug #324305 and #341608 Patch updated by Marc Dequènes (Duck) <[email protected]>and needs to be resubmited upstream. --- krb5/src/include/k5-thread.h.orig 2005-12-01 22:12:36.000000000 +0100 +++ krb5/src/include/k5-thread.h 2005-12-01 22:05:37.000000000 +0100 @@ -375,6 +375,12 @@ # pragma weak pthread_mutex_init # pragma weak pthread_self # pragma weak pthread_equal +# if __GNU__ +# pragma weak _pthread_mutex_lock +# pragma weak _pthread_mutex_unlock +# pragma weak _pthread_mutex_destroy +# pragma weak _pthread_mutex_init +# endif /* __GNU__ */ # ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB # pragma weak pthread_mutexattr_setrobust_np # endif === krb5/src/appl/bsd/krlogind.c ================================================================== --- krb5/src/appl/bsd/krlogind.c (revision 1833) +++ krb5/src/appl/bsd/krlogind.c (local) @@ -302,6 +302,10 @@ #define MAXDNAME 256 /*per the rfc*/ #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + char lusername[UT_NAMESIZE+1]; char rusername[UT_NAMESIZE+1]; char *krusername = 0; === krb5/src/appl/bsd/krshd.c ================================================================== --- krb5/src/appl/bsd/krshd.c (revision 1833) +++ krb5/src/appl/bsd/krshd.c (local) @@ -515,6 +515,11 @@ #define NCARGS 1024 #endif +#if NCARGS == INT_MAX +#undef NCARGS +#define NCARGS 4096 +#endif + #define NMAX 16 int pid; === krb5/src/appl/bsd/login.c ================================================================== --- krb5/src/appl/bsd/login.c (revision 1833) +++ krb5/src/appl/bsd/login.c (local) @@ -132,6 +132,14 @@ #define siglongjmp longjmp #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + #ifdef POSIX_SIGNALS typedef struct sigaction handler; #define handler_init(H,F) (sigemptyset(&(H).sa_mask), \ === krb5/src/appl/gssftp/ftp/cmds.c ================================================================== --- krb5/src/appl/gssftp/ftp/cmds.c (revision 1833) +++ krb5/src/appl/gssftp/ftp/cmds.c (local) @@ -66,6 +66,10 @@ #include <ctype.h> #include <time.h> +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + #ifdef HAVE_GETCWD #define getwd(x) getcwd(x,MAXPATHLEN) #endif === krb5/src/appl/gssftp/ftp/ftp.c ================================================================== --- krb5/src/appl/gssftp/ftp/ftp.c (revision 1833) +++ krb5/src/appl/gssftp/ftp/ftp.c (local) @@ -153,6 +153,10 @@ #include "ftp_var.h" #include "secure.h" +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + #ifdef GSSAPI void user_gss_error (OM_uint32, OM_uint32, char *); #endif === krb5/src/appl/gssftp/ftp/ftp_var.h ================================================================== --- krb5/src/appl/gssftp/ftp/ftp_var.h (revision 1833) +++ krb5/src/appl/gssftp/ftp/ftp_var.h (local) @@ -70,6 +70,10 @@ #define extern #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * Options and other state info. */ === krb5/src/appl/gssftp/ftpd/ftpd.c ================================================================== --- krb5/src/appl/gssftp/ftpd/ftpd.c (revision 1833) +++ krb5/src/appl/gssftp/ftpd/ftpd.c (local) @@ -171,6 +171,14 @@ #include "ftpd_var.h" #include "secure.h" +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + extern char *crypt(); extern char version[]; extern char *home; /* pointer to home directory for glob */ === krb5/src/clients/ksu/ksu.h ================================================================== --- krb5/src/clients/ksu/ksu.h (revision 1833) +++ krb5/src/clients/ksu/ksu.h (local) @@ -56,8 +56,11 @@ #define CACHE_MODE 0600 #define MAX_CMD 2048 /* this is temp, should use realloc instead, as done in most of the code */ - +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + extern int optind; extern char * optarg; === krb5/src/kadmin/ktutil/ktutil_funcs.c ================================================================== --- krb5/src/kadmin/ktutil/ktutil_funcs.c (revision 1833) +++ krb5/src/kadmin/ktutil/ktutil_funcs.c (local) @@ -35,6 +35,10 @@ #include <string.h> #include <ctype.h> +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * Free a kt_list */ === krb5/src/lib/kdb/fetch_mkey.c ================================================================== --- krb5/src/lib/kdb/fetch_mkey.c (revision 1833) +++ krb5/src/lib/kdb/fetch_mkey.c (local) @@ -80,6 +80,10 @@ #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + krb5_error_code krb5_db_fetch_mkey(context, mname, etype, fromkeyboard, twice, keyfile, salt, key) === krb5/src/lib/krb4/RealmsConfig-glue.c ================================================================== --- krb5/src/lib/krb4/RealmsConfig-glue.c (revision 1833) +++ krb5/src/lib/krb4/RealmsConfig-glue.c (local) @@ -45,6 +45,10 @@ #include "krb5.h" #undef KRB5_PRIVATE +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + /* These two *must* be kept in sync to avoid buffer overflows. */ #define SCNSCRATCH "%1023s" #define SCRATCHSZ 1024 === krb5/src/lib/krb4/g_cnffile.c ================================================================== --- krb5/src/lib/krb4/g_cnffile.c (revision 1833) +++ krb5/src/lib/krb4/g_cnffile.c (local) @@ -20,6 +20,10 @@ #include "k5-int.h" #include "krb4int.h" +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + krb5_context krb5__krb4_context = 0; static FILE* === krb5/src/lib/krb4/g_phost.c ================================================================== --- krb5/src/lib/krb4/g_phost.c (revision 1833) +++ krb5/src/lib/krb4/g_phost.c (local) @@ -48,6 +48,10 @@ * to the original "alias" argument is returned. */ +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + char * KRB5_CALLCONV krb_get_phost(alias) char *alias; === krb5/src/lib/krb4/kuserok.c ================================================================== --- krb5/src/lib/krb4/kuserok.c (revision 1833) +++ krb5/src/lib/krb4/kuserok.c (local) @@ -57,6 +57,10 @@ #define NOTOK 1 #define MAX_USERNAME 10 +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * Given a Kerberos principal "kdata", and a local username "luser", * determine whether user is authorized to login according to the === krb5/src/lib/krb4/send_to_kdc.c ================================================================== --- krb5/src/lib/krb4/send_to_kdc.c (revision 1833) +++ krb5/src/lib/krb4/send_to_kdc.c (local) @@ -55,6 +55,10 @@ static char *prog = "send_to_kdc"; #endif +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + /* * send_to_kdc() sends a message to the Kerberos authentication * server(s) in the given realm and returns the reply message. === krb5/src/lib/krb4/tkt_string.c ================================================================== --- krb5/src/lib/krb4/tkt_string.c (revision 1833) +++ krb5/src/lib/krb4/tkt_string.c (local) @@ -44,6 +44,10 @@ uid_t getuid(void) { return 0; } #endif /* _WIN32 */ +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * This routine is used to generate the name of the file that holds * the user's cache of server tickets and associated session keys. === krb5/src/lib/krb5/os/kuserok.c ================================================================== --- krb5/src/lib/krb5/os/kuserok.c (revision 1833) +++ krb5/src/lib/krb5/os/kuserok.c (local) @@ -40,6 +40,10 @@ #define MAX_USERNAME 65 +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * Given a Kerberos principal "principal", and a local username "luser", * determine whether user is authorized to login according to the === krb5/src/lib/krb5/os/sn2princ.c ================================================================== --- krb5/src/lib/krb5/os/sn2princ.c (revision 1833) +++ krb5/src/lib/krb5/os/sn2princ.c (local) @@ -61,6 +61,10 @@ } +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + krb5_error_code KRB5_CALLCONV krb5_sname_to_principal(krb5_context context, const char *hostname, const char *sname, krb5_int32 type, krb5_principal *ret_princ) { === krb5/src/tests/resolve/resolve.c ================================================================== --- krb5/src/tests/resolve/resolve.c (revision 1833) +++ krb5/src/tests/resolve/resolve.c (local) @@ -70,6 +70,10 @@ #include <netdb.h> +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + int main(argc, argv) int argc; === krb5/src/util/db2/btree/bt_open.c ================================================================== --- krb5/src/util/db2/btree/bt_open.c (revision 1833) +++ krb5/src/util/db2/btree/bt_open.c (local) @@ -66,6 +66,10 @@ #define MINPSIZE 128 #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + static int byteorder __P((void)); static int nroot __P((BTREE *)); static int tmp __P((void)); === krb5/src/util/db2/hash/dbm.c ================================================================== --- krb5/src/util/db2/hash/dbm.c (revision 1833) +++ krb5/src/util/db2/hash/dbm.c (local) @@ -58,6 +58,10 @@ #define NEED_COPY +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif + /* * * This package provides dbm and ndbm compatible interfaces to DB. === krb5/src/util/pty/sane_hostname.c ================================================================== --- krb5/src/util/pty/sane_hostname.c (revision 1833) +++ krb5/src/util/pty/sane_hostname.c (local) @@ -29,6 +29,10 @@ #include "socket-utils.h" #include "fake-addrinfo.h" +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + static void downcase (char *s) { --- krb5~/src/lib/gssapi/spnego/spnego_mech.c 2009-05-15 15:44:19.000000000 +0200 +++ krb5/src/lib/gssapi/spnego/spnego_mech.c 2009-05-15 15:45:03.000000000 +0200 @@ -74,6 +74,10 @@ #include <gssapi_err_generic.h> +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + #undef g_token_size #undef g_verify_token_header #undef g_make_token_header --- krb5~/src/include/k5-int.h 2009-05-15 15:52:53.000000000 +0200 +++ krb5/src/include/k5-int.h 2009-05-15 15:53:22.000000000 +0200 @@ -553,6 +553,9 @@ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> /* MAXPATHLEN */ #endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif #ifdef HAVE_SYS_FILE_H #include <sys/file.h> /* prototypes for file-related --- krb5~/src/plugins/kdb/db2/libdb2/include/db-int.h 2009-05-15 16:21:05.000000000 +0200 +++ krb5/src/plugins/kdb/db2/libdb2/include/db-int.h 2009-05-15 16:32:55.000000000 +0200 @@ -280,4 +280,8 @@ #ifndef O_BINARY #define O_BINARY 0 /* Needed for Win32 compiles */ #endif + +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif #endif /* _DB_INT_H_ */ --- krb5~/src/appl/libpty/sane_hostname.c 2009-05-15 16:40:47.000000000 +0200 +++ krb5/src/appl/libpty/sane_hostname.c 2009-05-15 16:40:52.000000000 +0200 @@ -29,6 +29,10 @@ #include "socket-utils.h" #include "fake-addrinfo.h" +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + static void downcase (char *s) {
pgpPHCgFAo36x.pgp
Description: PGP Digital Signature

