userpasswd.c 1003 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. #include <u.h>
  10. #include <libc.h>
  11. #include <auth.h>
  12. void
  13. usage(void)
  14. {
  15. fprint(2, "usage: auth/userpasswd fmt\n");
  16. exits("usage");
  17. }
  18. void
  19. main(int argc, char **argv)
  20. {
  21. UserPasswd *up;
  22. ARGBEGIN{
  23. default:
  24. usage();
  25. }ARGEND
  26. if(argc != 1)
  27. usage();
  28. up = auth_getuserpasswd(auth_getkey, "proto=pass %s", argv[0]);
  29. if(up == nil) /* bug in factotum, fixed but need to reboot servers -rsc, 2/10/2002 */
  30. up = auth_getuserpasswd(nil, "proto=pass %s", argv[0]);
  31. if(up == nil)
  32. sysfatal("getuserpasswd: %r");
  33. quotefmtinstall();
  34. print("%s\n%s\n", up->user, up->passwd);
  35. exits(0);
  36. }