Hello,
I have following setup: User homedir are on server B and I have samba
running on server A and B (B is dec/osf1, A is HPUX).
In Luke's reply to "Spiros B" (tue 12 aug 97) he said:
> because (and this is the bit about the home.map support that i don't
> exactly understand, and don't quite follow) when you do a domain logon
> to server A, the home.map support will feed the client with
> \\auto-home-server\share (don't know what the share is - it's
probably
> homes).
> where auto-home-server should be the server component of the home.map
> entry.
This seems to implicate that samba server A should send message back to
client saying "Please connect to server B (\\B\homes) instead". I
sniffered the network messages between server A and client and didn't find
anything that could point to this. Is this "homedir map/nis homedir"
feature really working?
Getting the servername (B == bilbo) seems to work ok. From logfile:
Setting default HOMESHR to: \\logon server\HOMES
NIS Domain: mydomain
NIS lookup succeeded
Home server length: 5
Allocated 17 bytes for HOMESHR
User = martikka
UID = 1220
NIS result = bilbo:/net/bilbo/home/martikka
HOMESHR = \\bilbo\homes
After that everything seems to be going like normal smb-session. Nothing
to indicate that client actually should connect to server B (bilbo).
Also in server B logfiles there is no evidence that client had tried to
call it up.
This option could be very useful once it works :)
Does anyone have any idea how samba is supposed to continue? What kind of
packet should be sent?
Here is a small patch for password.c (1.9.17p1 and maybe for 17p2). It
tries to remove possible mount options from nis_result.
- Goodi
"UNIX should be used as an adjective." -- AT&T
--- password.c.orig Thu Sep 18 12:21:48 1997
+++ password.c Thu Sep 18 13:48:31 1997
@@ -220,6 +220,20 @@
&nis_result, &nis_result_len))
DEBUG(3, ("YP Error: %s\n", yperr_string(nis_error)));
if (!nis_error && lp_nis_home_map()) {
+
+ /* Try to remove mount options (user: -rw,intr hostname:/foo/home/user)
+ when yp_match returns "-rw,intr hostname:/foo/home/user"
+ This will screw up if hostname starts with '-', but - is
unlikely
+ first char in hostnames anyway...
+ Hannu.Martikka@ntc.nokia.com
+ */
+ if (*nis_result == '-') {
+ /* Search upto whitespace */
+ for (;*nis_result != ' ' && *nis_result !=
'\t';nis_result++) ;
+ /* Remove whitespaces */
+ for (;*nis_result == ' ' || *nis_result ==
'\t';nis_result++) ;
+ }
+
home_server_len = strcspn(nis_result,":");
DEBUG(3, ("NIS lookup succeeded\n\tHome server length:
%d\n",home_server_len));
vuser->home_share = (char *)Realloc(vuser->home_share,
home_server_len+12);