Ejemplo n.º 1
0
Integer parse_integer(char *token)
{
    Integer n;

    if (is_fixnum_token(token))
        n = make_fixnum(atoi(token));
    else
        n = parse_bignum(token);
    free(token);

    return n;
}
Ejemplo n.º 2
0
Archivo: rsa.c Proyecto: macssh/macssh
/* Alternative constructor using a key of type ssh-rsa, when the atom
 * "ssh-rsa" is already read from the buffer. */
struct verifier *
parse_ssh_rsa_public(struct simple_buffer *buffer)
{
  NEW(rsa_verifier, res);
  init_rsa_verifier(res, &rsa_sha1_algorithm);

  if (parse_bignum(buffer, res->e, RSA_MAX_SIZE)
      && (mpz_sgn(res->e) == 1)
      && parse_bignum(buffer, res->n, RSA_MAX_SIZE)
      && (mpz_sgn(res->n) == 1)
      && (mpz_cmp(res->e, res->n) < 0)
      && parse_eod(buffer)
      && rsa_check_size(res))
    return &res->super;

  else
    {
      KILL(res);
      return NULL;
    }
}