Define and use a path separator string
A colon can't be used to separate paths on Windows since they are used in drive sepecification. Define a macro that can be used as a path separator string. On Windows, this is defined as ";". It is a ":" everywhere else.
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
;
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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"
|
||||
|
Reference in New Issue
Block a user