version 1.55, 2011/09/23 00:22:04 |
version 1.56, 2011/10/18 04:58:26 |
|
|
buffer_append(&data, data_blob, dlen); |
buffer_append(&data, data_blob, dlen); |
debug3("found certificate option \"%.100s\" len %u", |
debug3("found certificate option \"%.100s\" len %u", |
name, dlen); |
name, dlen); |
if (strlen(name) != nlen) { |
|
error("Certificate constraint name contains \\0"); |
|
goto out; |
|
} |
|
found = 0; |
found = 0; |
if ((which & OPTIONS_EXTENSIONS) != 0) { |
if ((which & OPTIONS_EXTENSIONS) != 0) { |
if (strcmp(name, "permit-X11-forwarding") == 0) { |
if (strcmp(name, "permit-X11-forwarding") == 0) { |
|
|
"corrupt", name); |
"corrupt", name); |
goto out; |
goto out; |
} |
} |
if (strlen(command) != clen) { |
|
error("force-command constraint " |
|
"contains \\0"); |
|
goto out; |
|
} |
|
if (*cert_forced_command != NULL) { |
if (*cert_forced_command != NULL) { |
error("Certificate has multiple " |
error("Certificate has multiple " |
"force-command options"); |
"force-command options"); |
|
|
&clen)) == NULL) { |
&clen)) == NULL) { |
error("Certificate constraint " |
error("Certificate constraint " |
"\"%s\" corrupt", name); |
"\"%s\" corrupt", name); |
goto out; |
|
} |
|
if (strlen(allowed) != clen) { |
|
error("source-address constraint " |
|
"contains \\0"); |
|
goto out; |
goto out; |
} |
} |
if ((*cert_source_address_done)++) { |
if ((*cert_source_address_done)++) { |