version 1.174, 2013/05/31 12:28:10 |
version 1.175, 2013/06/01 13:15:52 |
|
|
static time_t |
static time_t |
reaper(void) |
reaper(void) |
{ |
{ |
time_t deadline = 0, now = time(NULL); |
time_t deadline = 0, now = monotime(); |
Identity *id, *nxt; |
Identity *id, *nxt; |
int version; |
int version; |
Idtab *tab; |
Idtab *tab; |
|
|
while (buffer_len(&e->request)) { |
while (buffer_len(&e->request)) { |
switch ((type = buffer_get_char(&e->request))) { |
switch ((type = buffer_get_char(&e->request))) { |
case SSH_AGENT_CONSTRAIN_LIFETIME: |
case SSH_AGENT_CONSTRAIN_LIFETIME: |
death = time(NULL) + buffer_get_int(&e->request); |
death = monotime() + buffer_get_int(&e->request); |
break; |
break; |
case SSH_AGENT_CONSTRAIN_CONFIRM: |
case SSH_AGENT_CONSTRAIN_CONFIRM: |
confirm = 1; |
confirm = 1; |
|
|
} |
} |
success = 1; |
success = 1; |
if (lifetime && !death) |
if (lifetime && !death) |
death = time(NULL) + lifetime; |
death = monotime() + lifetime; |
if ((id = lookup_identity(k, version)) == NULL) { |
if ((id = lookup_identity(k, version)) == NULL) { |
id = xcalloc(1, sizeof(Identity)); |
id = xcalloc(1, sizeof(Identity)); |
id->key = k; |
id->key = k; |
|
|
while (buffer_len(&e->request)) { |
while (buffer_len(&e->request)) { |
switch ((type = buffer_get_char(&e->request))) { |
switch ((type = buffer_get_char(&e->request))) { |
case SSH_AGENT_CONSTRAIN_LIFETIME: |
case SSH_AGENT_CONSTRAIN_LIFETIME: |
death = time(NULL) + buffer_get_int(&e->request); |
death = monotime() + buffer_get_int(&e->request); |
break; |
break; |
case SSH_AGENT_CONSTRAIN_CONFIRM: |
case SSH_AGENT_CONSTRAIN_CONFIRM: |
confirm = 1; |
confirm = 1; |
|
|
} |
} |
} |
} |
if (lifetime && !death) |
if (lifetime && !death) |
death = time(NULL) + lifetime; |
death = monotime() + lifetime; |
|
|
count = pkcs11_add_provider(provider, pin, &keys); |
count = pkcs11_add_provider(provider, pin, &keys); |
for (i = 0; i < count; i++) { |
for (i = 0; i < count; i++) { |