Mercurial > go > multipass
comparison multipass-checkpassword.go @ 8:4db389f948c9
Preserve the entire environment when password checking.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 25 Oct 2015 00:03:06 -0400 |
parents | 10613f0f4737 |
children |
comparison
equal
deleted
inserted
replaced
7:406d3cd76739 | 8:4db389f948c9 |
---|---|
38 } | 38 } |
39 user, err := user.Lookup(username) | 39 user, err := user.Lookup(username) |
40 if err != nil { | 40 if err != nil { |
41 os.Exit(Failed) | 41 os.Exit(Failed) |
42 } | 42 } |
43 os.Setenv("USER", user.Username) | |
44 os.Setenv("HOME", user.HomeDir) | |
43 os.Setenv("userdb_uid", user.Uid) | 45 os.Setenv("userdb_uid", user.Uid) |
44 os.Setenv("userdb_gid", user.Gid) | 46 os.Setenv("userdb_gid", user.Gid) |
45 os.Setenv("EXTRA", "userdb_uid userdb_gid") | 47 os.Setenv("EXTRA", "userdb_uid userdb_gid") |
46 environ := []string{ | 48 syscall.Exec(os.Args[1], os.Args[1:], os.Environ()) |
47 "USER=" + user.Username, | |
48 "userdb_uid=" + user.Uid, | |
49 "userdb_gid=" + user.Gid, | |
50 "HOME=" + user.HomeDir, | |
51 "EXTRA=userdb_uid userdb_gid", | |
52 } | |
53 syscall.Exec(os.Args[1], os.Args[1:], environ) | |
54 } | 49 } |