bin/66893: [patch] rpc.yppasswdd(8): Linux NIS clients
connecting to FreeBSD NIS servers get authentication failure
Tulio Guimarães da Silva
tuliogs at pgt.mpt.gov.br
Thu Jan 24 17:20:06 UTC 2008
The following reply was made to PR bin/66893; it has been noted by GNATS.
From: =?UTF-8?B?VHVsaW8gR3VpbWFyw6NlcyBkYSBTaWx2YQ==?=
<tuliogs at pgt.mpt.gov.br>
To: bug-followup at FreeBSD.org, sgrig at aegean.dmst.aueb.gr,
Andreas Steinel <lnxbil at cs.uni-sb.de>
Cc:
Subject: Re: bin/66893: [patch] rpc.yppasswdd(8): Linux NIS clients connecting
to FreeBSD NIS servers get authentication failure
Date: Thu, 24 Jan 2008 15:04:52 -0200
--------------070106010709060003080104
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Hello,
the patch from Mr. Andreas Steinel fails with the following errors
(FBSD 5.3-RELEASE, but similar to 6.0):
===================
Hunk #1 succeeded at 40.
Hunk #2 failed at 201.
Hunk #3 failed at 504.
Hunk #4 failed at 522.
Hunk #5 succeeded at 629 with fuzz 2 (offset -1 lines).
patch: **** misordered hunks! output would be garbled
===================
In fact, the lines that need to be altered are not those. Besides, there
are strange characters sequences (=2D, =3D etc., probably an encoding
issue) in the above copy of patch, but not in the original file at
http://www.bsdforen.de/showthread.php?t=14059
However, when manually applying this patch, "make" fails with:
====================
"Makefile", line 597: Need an operator
"Makefile", line 607: Need an operator
"Makefile", line 609: warning: duplicate script for target "@if" ignored
"Makefile", line 609: warning: duplicate script for target "[" ignored
"Makefile", line 611: warning: duplicate script for target "@if" ignored
"Makefile", line 611: warning: duplicate script for target "[" ignored
make: fatal errors encountered -- cannot continue
====================
The reason, simple as it is, is that the patch is indented with
spaces, and for some reason "make" doesn´t accept that. The solution is
to replace the spaces with tabs. I´m submitting a copy of the resulting
unified diff, which can be applied with:
patch -p1 Makefile <Yp.Makefile.patch
It was built for 5.3-RELEASE, but also works on 6.2-RELEASE (untested
as NIS-server, though) with only different offsets. If some peaceful
mind would apply it to 6.4 or 7.1, or host it at FreeBSD servers, I
(and all other people that would use Linux clients) will be very
grateful. It´s about time to such a simple issue to disappear, don´t you
think? ;-)
One last note, though, is that passwd from the client machines will
alter only the NIS passwords, not the server´s own pwd.db, which I don´t
know if it´s a desired behaviour. Having said that, I´m attaching the
patch, but here it is (inline), for any case:
------------------------------
+++ Makefile Tue Jan 22 21:45:02 2008
@@ -40,6 +40,10 @@
# key will be removed from these maps, allowing anyone to access them.
S=-s
+# If you want to have linux NIS clients you must enable this:
+# Comment the line if you have no linux NIS clients
+LINUXCOMPMODE=1
+
# These are commands which this Makefile needs to properly rebuild the
# NIS databases. Don't change these unless you have a good reason. Also
# be sure not to place an @ in front of /usr/bin/awk: it isn't necessary
@@ -187,7 +191,7 @@
publickey: publickey.byname
aliases: mail.aliases
-master.passwd: master.passwd.byname master.passwd.byuid
+master.passwd: master.passwd.byname master.passwd.byuid shadow.byname
#
# This is a special target used only when doing in-place updates with
@@ -460,6 +464,16 @@
$(PASSWD): $(MASTER)
@echo "Creating new $@ file from $(MASTER)..."
+.if defined(LINUXCOMPMODE)
+ @if [ ! $(UNSECURE) ]; then \
+ $(AWK) -F: '{if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
+ print $$1":x:"$$3":"$$4":"$$8":"$$9":"$$10}' $(MASTER) \
+ > $(PASSWD) ; \
+ else \
+ $(AWK) -F: '{if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
+ print $$1":"$$2":"$$3":"$$4":"$$8":"$$9":"$$10}' $(MASTER) \
+ > $(PASSWD) ; fi
+.else
@if [ ! $(UNSECURE) ]; then \
$(AWK) -F: '{if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
print $$1":*:"$$3":"$$4":"$$8":"$$9":"$$10}' $(MASTER) \
@@ -468,6 +482,7 @@
$(AWK) -F: '{if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
print $$1":"$$2":"$$3":"$$4":"$$8":"$$9":"$$10}' $(MASTER) \
> $(PASSWD) ; fi
+.endif
passwd.byname: $(PASSWD)
@@ -574,4 +589,22 @@
@$(DBLOAD) -c
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
@if [ ! $(NOPUSH) ]; then echo "Pushed $@ map." ; fi
+
+
+shadow.byname: $(MASTER)
+.if defined(LINUXCOMPMODE)
+ @echo "Updating $@..."
+.if ${MASTER} == "/dev/null"
+ @echo "Master.passwd source file not found -- skipping"
+.else
+ @cat $(MASTER) | \
+ $(AWK) -F: '{ if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
+ print $$1"\t"$$1":"$$2":::::::" }' $^ \
+ | $(DBLOAD) ${S} -f -i $(MASTER) -o $(YPMAPDIR)/$@ - $(TMP); \
+ $(RMV) $(TMP) $@
+ @$(DBLOAD) -c
+ @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
+ @if [ ! $(NOPUSH) ]; then echo "Pushed $@ map." ; fi
+.endif
+.endif
--------------------
Thanks to Mr. Steinel for the original work and efforts. Sincerely,
Tulio G. da Silva
--------------070106010709060003080104
Content-Type: text/plain;
name="Yp.Makefile.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="Yp.Makefile.patch"
KysrIE1ha2VmaWxlCVR1ZSBKYW4gMjIgMjE6NDU6MDIgMjAwOA0KQEAgLTQwLDYgKzQwLDEw
IEBADQogIyBrZXkgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlc2UgbWFwcywgYWxsb3dpbmcg
YW55b25lIHRvIGFjY2VzcyB0aGVtLg0KIFM9LXMNCiANCisjIElmIHlvdSB3YW50IHRvIGhh
dmUgbGludXggTklTIGNsaWVudHMgeW91IG11c3QgZW5hYmxlIHRoaXM6DQorIyBDb21tZW50
IHRoZSBsaW5lIGlmIHlvdSBoYXZlIG5vIGxpbnV4IE5JUyBjbGllbnRzDQorTElOVVhDT01Q
TU9ERT0xDQorDQogIyBUaGVzZSBhcmUgY29tbWFuZHMgd2hpY2ggdGhpcyBNYWtlZmlsZSBu
ZWVkcyB0byBwcm9wZXJseSByZWJ1aWxkIHRoZQ0KICMgTklTIGRhdGFiYXNlcy4gRG9uJ3Qg
Y2hhbmdlIHRoZXNlIHVubGVzcyB5b3UgaGF2ZSBhIGdvb2QgcmVhc29uLiBBbHNvDQogIyBi
ZSBzdXJlIG5vdCB0byBwbGFjZSBhbiBAIGluIGZyb250IG9mIC91c3IvYmluL2F3azogaXQg
aXNuJ3QgbmVjZXNzYXJ5DQpAQCAtMTg3LDcgKzE5MSw3IEBADQogcHVibGlja2V5OiBwdWJs
aWNrZXkuYnluYW1lDQogYWxpYXNlczogICBtYWlsLmFsaWFzZXMNCiANCi1tYXN0ZXIucGFz
c3dkOgltYXN0ZXIucGFzc3dkLmJ5bmFtZSBtYXN0ZXIucGFzc3dkLmJ5dWlkDQorbWFzdGVy
LnBhc3N3ZDoJbWFzdGVyLnBhc3N3ZC5ieW5hbWUgbWFzdGVyLnBhc3N3ZC5ieXVpZCBzaGFk
b3cuYnluYW1lDQogDQogIw0KICMgVGhpcyBpcyBhIHNwZWNpYWwgdGFyZ2V0IHVzZWQgb25s
eSB3aGVuIGRvaW5nIGluLXBsYWNlIHVwZGF0ZXMgd2l0aA0KQEAgLTQ2MCw2ICs0NjQsMTYg
QEANCiANCiAkKFBBU1NXRCk6ICQoTUFTVEVSKQ0KIAlAZWNobyAiQ3JlYXRpbmcgbmV3ICRA
IGZpbGUgZnJvbSAkKE1BU1RFUikuLi4iDQorLmlmIGRlZmluZWQoTElOVVhDT01QTU9ERSkN
CisJQGlmIFsgISAkKFVOU0VDVVJFKSBdOyB0aGVuIFwNCisJJChBV0spIC1GOiAne2lmICgk
JDEgIT0gIiIgJiYgJCQxICF+ICJeIy4qIiAmJiAkJDEgIT0gIisiKSBcDQorCQlwcmludCAk
JDEiOng6IiQkMyI6IiQkNCI6IiQkOCI6IiQkOSI6IiQkMTB9JyAkKE1BU1RFUikgXA0KKwkJ
PiAkKFBBU1NXRCkgOyBcDQorCWVsc2UgXA0KKwkkKEFXSykgLUY6ICd7aWYgKCQkMSAhPSAi
IiAmJiAkJDEgIX4gIl4jLioiICYmICQkMSAhPSAiKyIpIFwNCisJCXByaW50ICQkMSI6IiQk
MiI6IiQkMyI6IiQkNCI6IiQkOCI6IiQkOSI6IiQkMTB9JyAkKE1BU1RFUikgXA0KKwkJPiAk
KFBBU1NXRCkgOyBmaQ0KKy5lbHNlDQogCUBpZiBbICEgJChVTlNFQ1VSRSkgXTsgdGhlbiBc
DQogCSQoQVdLKSAtRjogJ3tpZiAoJCQxICE9ICIiICYmICQkMSAhfiAiXiMuKiIgJiYgJCQx
ICE9ICIrIikgXA0KIAkJcHJpbnQgJCQxIjoqOiIkJDMiOiIkJDQiOiIkJDgiOiIkJDkiOiIk
JDEwfScgJChNQVNURVIpIFwNCkBAIC00NjgsNiArNDgyLDcgQEANCiAJJChBV0spIC1GOiAn
e2lmICgkJDEgIT0gIiIgJiYgJCQxICF+ICJeIy4qIiAmJiAkJDEgIT0gIisiKSBcDQogCQlw
cmludCAkJDEiOiIkJDIiOiIkJDMiOiIkJDQiOiIkJDgiOiIkJDkiOiIkJDEwfScgJChNQVNU
RVIpIFwNCiAJCT4gJChQQVNTV0QpIDsgZmkNCisuZW5kaWYNCiANCiANCiBwYXNzd2QuYnlu
YW1lOiAkKFBBU1NXRCkNCkBAIC01NzQsNCArNTg5LDIyIEBADQogCUAkKERCTE9BRCkgLWMN
CiAJQGlmIFsgISAkKE5PUFVTSCkgXTsgdGhlbiAkKFlQUFVTSCkgLWQgJChET01BSU4pICRA
OyBmaQ0KIAlAaWYgWyAhICQoTk9QVVNIKSBdOyB0aGVuIGVjaG8gIlB1c2hlZCAkQCBtYXAu
IiA7IGZpDQorDQorDQorc2hhZG93LmJ5bmFtZTogJChNQVNURVIpDQorLmlmIGRlZmluZWQo
TElOVVhDT01QTU9ERSkNCisJQGVjaG8gIlVwZGF0aW5nICRALi4uIg0KKy5pZiAke01BU1RF
Un0gPT0gIi9kZXYvbnVsbCINCisJQGVjaG8gIk1hc3Rlci5wYXNzd2Qgc291cmNlIGZpbGUg
bm90IGZvdW5kIC0tIHNraXBwaW5nIg0KKy5lbHNlDQorCUBjYXQgJChNQVNURVIpIHwgXA0K
KwkkKEFXSykgLUY6ICd7IGlmICgkJDEgIT0gIiIgJiYgJCQxICF+ICJeIy4qIiAmJiAkJDEg
IT0gIisiKSBcDQorCQlwcmludCAkJDEiXHQiJCQxIjoiJCQyIjo6Ojo6OjoiIH0nICReIFwN
CisJCXwgJChEQkxPQUQpICR7U30gLWYgLWkgJChNQVNURVIpIC1vICQoWVBNQVBESVIpLyRA
IC0gJChUTVApOyBcDQorCQkkKFJNVikgJChUTVApICRADQorCUAkKERCTE9BRCkgLWMNCisJ
QGlmIFsgISAkKE5PUFVTSCkgXTsgdGhlbiAkKFlQUFVTSCkgLWQgJChET01BSU4pICRAOyBm
aQ0KKwlAaWYgWyAhICQoTk9QVVNIKSBdOyB0aGVuIGVjaG8gIlB1c2hlZCAkQCBtYXAuIiA7
IGZpDQorLmVuZGlmDQorLmVuZGlmDQo=
--------------070106010709060003080104--
More information about the freebsd-bugs
mailing list