diff --git a/include/config.h.w32 b/include/config.h.w32 index 6e356f355..b85dd3019 100644 --- a/include/config.h.w32 +++ b/include/config.h.w32 @@ -99,9 +99,12 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg } @FEATURE_DEFS@ -/* Define is backslashes act as path delimiters */ +/* Define is backslashes act as path name delimiters */ #define BACKSLASH_PATH_DELIM 1 +/* Path separator character */ +#define PATH_SEP ";" + /* Define if you want to use DES encryption in telnet. */ #define DES_ENCRYPTION 1 diff --git a/lib/krb5/constants.c b/lib/krb5/constants.c index 2d90f7791..bbb483265 100644 --- a/lib/krb5/constants.c +++ b/lib/krb5/constants.c @@ -37,18 +37,18 @@ KRB5_LIB_VARIABLE const char *krb5_config_file = #ifdef __APPLE__ -"~/Library/Preferences/com.apple.Kerberos.plist:" -"/Library/Preferences/com.apple.Kerberos.plist:" -"~/Library/Preferences/edu.mit.Kerberos:" -"/Library/Preferences/edu.mit.Kerberos:" +"~/Library/Preferences/com.apple.Kerberos.plist" PATH_SEP +"/Library/Preferences/com.apple.Kerberos.plist" PATH_SEP +"~/Library/Preferences/edu.mit.Kerberos" PATH_SEP +"/Library/Preferences/edu.mit.Kerberos" PATH_SEP #endif /* __APPLE__ */ -"~/.krb5/config:" +"~/.krb5/config" PATH_SEP SYSCONFDIR "/krb5.conf" #ifdef _WIN32 -":%{COMMON_APPDATA}/Kerberos/krb5.conf" -":%{WINDOWS}/krb5.ini" +PATH_SEP "%{COMMON_APPDATA}/Kerberos/krb5.conf" +PATH_SEP "%{WINDOWS}/krb5.ini" #else -":/etc/krb5.conf" +PATH_SEP "/etc/krb5.conf" #endif ; diff --git a/lib/krb5/context.c b/lib/krb5/context.c index 26ad34ed8..244a17c69 100644 --- a/lib/krb5/context.c +++ b/lib/krb5/context.c @@ -673,7 +673,7 @@ krb5_prepend_config_files(const char *filelist, char **pq, char ***ret_pp) while(1) { ssize_t l; q = p; - l = strsep_copy(&q, ":", NULL, 0); + l = strsep_copy(&q, PATH_SEP, NULL, 0); if(l == -1) break; fn = malloc(l + 1); @@ -681,7 +681,7 @@ krb5_prepend_config_files(const char *filelist, char **pq, char ***ret_pp) krb5_free_config_files(pp); return ENOMEM; } - (void)strsep_copy(&p, ":", fn, l + 1); + (void)strsep_copy(&p, PATH_SEP, fn, l + 1); ret = add_file(&pp, &len, fn); if (ret) { krb5_free_config_files(pp); diff --git a/lib/krb5/krb5_locl.h b/lib/krb5/krb5_locl.h index d8d038e7b..e7dc32acb 100644 --- a/lib/krb5/krb5_locl.h +++ b/lib/krb5/krb5_locl.h @@ -188,6 +188,10 @@ struct _krb5_krb_auth_data; #define ALLOC(X, N) (X) = calloc((N), sizeof(*(X))) #define ALLOC_SEQ(X, N) do { (X)->len = (N); ALLOC((X)->val, (N)); } while(0) +#ifndef PATH_SEP +#define PATH_SEP ":" +#endif + /* should this be public? */ #define KEYTAB_DEFAULT "FILE:" SYSCONFDIR "/krb5.keytab" #define KEYTAB_DEFAULT_MODIFY "FILE:" SYSCONFDIR "/krb5.keytab"