summaryrefslogtreecommitdiff
path: root/source3/param
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-10-21 04:30:51 +0000
committerAndrew Tridgell <tridge@samba.org>2002-10-21 04:30:51 +0000
commit48a56c12e268845d037ea0c4115a0df37cb20e26 (patch)
tree11af590e40cc94c973f3fca104ef9ddab0a6bbbb /source3/param
parent354878f76fb6689e26a62ef988564c099991edc0 (diff)
downloadsamba-48a56c12e268845d037ea0c4115a0df37cb20e26.tar.gz
samba-48a56c12e268845d037ea0c4115a0df37cb20e26.tar.bz2
samba-48a56c12e268845d037ea0c4115a0df37cb20e26.zip
add a 'mangle prefix' option to allow people to tune the number of
characters used in the prefix for 8.3 names in the hash2 algorithm. The longer the prefix the more readable the 8.3 names will be, but the weaker the hash. this was added because of someone complaining that the new hashing algorithm was unreadable but the old one was broken :) (This used to be commit 3ca3cc838e5b957c7244b21947daddc4ee4c3099)
Diffstat (limited to 'source3/param')
-rw-r--r--source3/param/loadparm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 5d1ef9b91f..7bec315631 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -167,6 +167,7 @@ typedef struct
char *szDeleteShareCommand;
char *szGuestaccount;
char *szManglingMethod;
+ int mangle_prefix;
int max_log_size;
char *szLogLevel;
int mangled_stack;
@@ -911,6 +912,7 @@ static struct parm_struct parm_table[] = {
{"Filename Handling", P_SEP, P_SEPARATOR},
{"strip dot", P_BOOL, P_GLOBAL, &Globals.bStripDot, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"mangling method", P_STRING, P_GLOBAL, &Globals.szManglingMethod, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+ {"mangle prefix", P_INTEGER, P_GLOBAL, &Globals.mangle_prefix, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"mangled stack", P_INTEGER, P_GLOBAL, &Globals.mangled_stack, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"default case", P_ENUM, P_LOCAL, &sDefault.iDefaultCase, NULL, enum_case, FLAG_SHARE},
@@ -1247,8 +1249,9 @@ static void init_globals(void)
string_set(&Globals.szSMBPasswdFile, dyn_SMB_PASSWD_FILE);
string_set(&Globals.szPrivateDir, dyn_PRIVATE_DIR);
- /* use the new 'hash2' method by default */
+ /* use the new 'hash2' method by default, with a prefix of 1 */
string_set(&Globals.szManglingMethod, "hash2");
+ Globals.mangle_prefix = 1;
string_set(&Globals.szGuestaccount, GUEST_ACCOUNT);
@@ -1535,6 +1538,7 @@ FN_GLOBAL_STRING(lp_os2_driver_map, &Globals.szOs2DriverMap)
FN_GLOBAL_STRING(lp_lockdir, &Globals.szLockDir)
FN_GLOBAL_STRING(lp_piddir, &Globals.szPidDir)
FN_GLOBAL_STRING(lp_mangling_method, &Globals.szManglingMethod)
+FN_GLOBAL_INTEGER(lp_mangle_prefix, &Globals.mangle_prefix)
#ifdef WITH_UTMP
FN_GLOBAL_STRING(lp_utmpdir, &Globals.szUtmpDir)
FN_GLOBAL_STRING(lp_wtmpdir, &Globals.szWtmpDir)