If the user password has a space among its characters, the unix password sync command does not work. I suspect that the %n is being expanded BEFORE splitting calling the chat sequence into parts. To help, here's some output from the log file, in log level = 100 and passwd chat debug = yes. The test password is "teste 1". expect: expected [*new*password*] received [Enter new password:] match yes [2005/06/03 22:19:17, 10, pid=90672, effective(0, 10000), real(0, 0)] smbd/chgpa sswd.c:expect(286) expect: returning True [2005/06/03 22:19:17, 100, pid=90672, effective(0, 10000), real(0, 0)] smbd/chgp asswd.c:expect(238) expect: sending [teste] [2005/06/03 22:19:19, 10, pid=90672, effective(0, 10000), real(0, 0)] lib/util_s ock.c:read_socket_with_timeout(305) read_socket_with_timeout: timeout read. select timed out. [2005/06/03 22:19:19, 100, pid=90672, effective(0, 10000), real(0, 0)] smbd/chgp asswd.c:expect(275) expect: expected [1 *new*password*] received [] match no [2005/06/03 22:19:19, 2, pid=90672, effective(0, 10000), real(0, 0)] smbd/chgpas swd.c:expect(281) expect: Unknown error: 0 [2005/06/03 22:19:19, 3, pid=90672, effective(0, 10000), real(0, 0)] smbd/chgpas swd.c:talktochild(312)
This is not a bug. Place double quotes around the %n's in the passwd chat. This worked for me on my AIX box. Cheers, Bill
Bill says no bug. Closing.