1219b2ee8SDavid du Colombier #include <u.h> 2219b2ee8SDavid du Colombier #include <libc.h> 39a747e4fSDavid du Colombier #include <authsrv.h> 45979f962SDavid du Colombier #include <bio.h> 59a747e4fSDavid du Colombier #include "authcmdlib.h" 6219b2ee8SDavid du Colombier 7219b2ee8SDavid du Colombier static int getkey(char * authkey)8219b2ee8SDavid du Colombiergetkey(char *authkey) 9219b2ee8SDavid du Colombier { 109a747e4fSDavid du Colombier Nvrsafe safe; 11219b2ee8SDavid du Colombier 129a747e4fSDavid du Colombier if(readnvram(&safe, 0) < 0) 13219b2ee8SDavid du Colombier return -1; 149a747e4fSDavid du Colombier memmove(authkey, safe.machkey, DESKEYLEN); 159a747e4fSDavid du Colombier memset(&safe, 0, sizeof safe); 169a747e4fSDavid du Colombier return 0; 17219b2ee8SDavid du Colombier } 18219b2ee8SDavid du Colombier 19219b2ee8SDavid du Colombier int getauthkey(char * authkey)20219b2ee8SDavid du Colombiergetauthkey(char *authkey) 21219b2ee8SDavid du Colombier { 22219b2ee8SDavid du Colombier if(getkey(authkey) == 0) 23219b2ee8SDavid du Colombier return 1; 24*4727cc49SDavid du Colombier print("can't read NVRAM, please enter machine key\n"); 2580ee5cbfSDavid du Colombier getpass(authkey, nil, 0, 1); 26219b2ee8SDavid du Colombier return 1; 27219b2ee8SDavid du Colombier } 28