patch: additional parameter for domain mapping
Martin Bahlinger
ry42 at rz.uni-karlsruhe.de
Thu Oct 24 15:49:38 GMT 2002
On Thu, 24 Oct 2002, Martin Bahlinger wrote:
> Hi!
>
> Our samba servers here are members of a win2k domain and authenticate
> users against the win2k domain controllers. So when connecting to a
> samba share you have to supply the Username AND the correct domain name.
>
> Well, everything is fine when connecting from computers belonging to the
> same domain. But when connecting from anywhere else, you have to supply
> your Username like "DOMAIN\user". This is a problem with pc's running
> win95 or win98. They supply automatically their own Domain and you
> cannot choose a different one.
>
> Therefore I added the boolean smb.conf parameter "map domains". When
> set, all connections will be treated as having supplied the Domain the
> samba server belongs to.
>
> In the case of anyone also being in need of this feature...
> here is the patch for 2.2.6:
Sorry, mozilla messed up the code block.
I attached it as a plain text file now.
bye
Martin
--
Martin Bahlinger <bahlinger at rz.uni-karlsruhe.de> (PGP-ID: 0x98C32AC5)
-------------- next part --------------
diff -ru samba-2.2.6/source/include/proto.h samba-2.2.6-map-domains/source/include/proto.h
--- samba-2.2.6/source/include/proto.h Wed Oct 16 06:30:55 2002
+++ samba-2.2.6-map-domains/source/include/proto.h Wed Oct 23 13:45:11 2002
@@ -2021,6 +2021,7 @@
BOOL lp_nt_status_support(void);
BOOL lp_stat_cache(void);
BOOL lp_allow_trusted_domains(void);
+BOOL lp_map_domains(void);
BOOL lp_restrict_anonymous(void);
BOOL lp_lanman_auth(void);
BOOL lp_host_msdfs(void);
Only in samba-2.2.6-map-domains/source/include: proto.h~
diff -ru samba-2.2.6/source/param/loadparm.c samba-2.2.6-map-domains/source/param/loadparm.c
--- samba-2.2.6/source/param/loadparm.c Wed Oct 16 06:30:57 2002
+++ samba-2.2.6-map-domains/source/param/loadparm.c Wed Oct 23 13:45:11 2002
@@ -276,6 +276,7 @@
BOOL bStatCache;
BOOL bKernelOplocks;
BOOL bAllowTrustedDomains;
+ BOOL bMapDomains;
BOOL bRestrictAnonymous;
BOOL bLanmanAuth;
BOOL bDebugHiresTimestamp;
@@ -734,6 +735,7 @@
{"encrypt passwords", P_BOOL, P_GLOBAL, &Globals.bEncryptPasswords, NULL, NULL, FLAG_BASIC | FLAG_WIZARD},
{"update encrypted", P_BOOL, P_GLOBAL, &Globals.bUpdateEncrypt, NULL, NULL, FLAG_BASIC},
{"allow trusted domains", P_BOOL, P_GLOBAL, &Globals.bAllowTrustedDomains, NULL, NULL, 0},
+ {"map domains", P_BOOL, P_GLOBAL, &Globals.bMapDomains, NULL, NULL, 0},
{"alternate permissions", P_BOOL, P_LOCAL, &sDefault.bAlternatePerm, NULL, NULL, FLAG_GLOBAL | FLAG_DEPRECATED},
{"hosts equiv", P_STRING, P_GLOBAL, &Globals.szHostsEquiv, NULL, NULL, 0},
{"min passwd length", P_INTEGER, P_GLOBAL, &Globals.min_passwd_length, NULL, NULL, 0},
@@ -1668,6 +1670,7 @@
FN_GLOBAL_BOOL(lp_nt_status_support, &Globals.bNTStatusSupport)
FN_GLOBAL_BOOL(lp_stat_cache, &Globals.bStatCache)
FN_GLOBAL_BOOL(lp_allow_trusted_domains, &Globals.bAllowTrustedDomains)
+FN_GLOBAL_BOOL(lp_map_domains, &Globals.bMapDomains)
FN_GLOBAL_BOOL(lp_restrict_anonymous, &Globals.bRestrictAnonymous)
FN_GLOBAL_BOOL(lp_lanman_auth, &Globals.bLanmanAuth)
FN_GLOBAL_BOOL(lp_host_msdfs, &Globals.bHostMSDfs)
Only in samba-2.2.6-map-domains/source/param: loadparm.c~
diff -ru samba-2.2.6/source/smbd/reply.c samba-2.2.6-map-domains/source/smbd/reply.c
--- samba-2.2.6/source/smbd/reply.c Wed Oct 9 22:27:23 2002
+++ samba-2.2.6-map-domains/source/smbd/reply.c Wed Oct 23 13:45:11 2002
@@ -853,7 +853,10 @@
* to UNIX.
*/
pstrcpy(user,dos_to_unix_static(user));
- fstrcpy(domain, dos_to_unix_static(p));
+ if (lp_map_domains())
+ fstrcpy(domain, dos_to_unix_static(lp_workgroup()));
+ else
+ fstrcpy(domain, dos_to_unix_static(p));
DEBUG(3,("Domain=[%s] NativeOS=[%s] NativeLanMan=[%s]\n",
domain,skip_string(p,1),skip_string(p,2)));
}
More information about the samba-technical
mailing list