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