1219b2ee8SDavid du Colombier #include <u.h> 2219b2ee8SDavid du Colombier #include <libc.h> 3*9a747e4fSDavid du Colombier #include <authsrv.h> 4*9a747e4fSDavid du Colombier #include "authcmdlib.h" 5219b2ee8SDavid du Colombier 6219b2ee8SDavid du Colombier static int 7219b2ee8SDavid du Colombier getkey(char *authkey) 8219b2ee8SDavid du Colombier { 9*9a747e4fSDavid du Colombier Nvrsafe safe; 10219b2ee8SDavid du Colombier 11*9a747e4fSDavid du Colombier if(readnvram(&safe, 0) < 0) 12219b2ee8SDavid du Colombier return -1; 13*9a747e4fSDavid du Colombier memmove(authkey, safe.machkey, DESKEYLEN); 14*9a747e4fSDavid du Colombier memset(&safe, 0, sizeof safe); 15*9a747e4fSDavid du Colombier return 0; 16219b2ee8SDavid du Colombier } 17219b2ee8SDavid du Colombier 18219b2ee8SDavid du Colombier int 19219b2ee8SDavid du Colombier getauthkey(char *authkey) 20219b2ee8SDavid du Colombier { 21219b2ee8SDavid du Colombier if(getkey(authkey) == 0) 22219b2ee8SDavid du Colombier return 1; 23219b2ee8SDavid du Colombier print("can't read /dev/key, please enter machine key\n"); 2480ee5cbfSDavid du Colombier getpass(authkey, nil, 0, 1); 25219b2ee8SDavid du Colombier return 1; 26219b2ee8SDavid du Colombier } 27