Skip to content

Functions involving key printing/handling (including droplet_create) broken with openssl >= 0.9.5 #126

@trestletech

Description

@trestletech

analogsea imports httr which imports openssl.

It seems that something about the handling of SSH keys changed in the openssl package, though I don't see an obvious relationship. It's entirely possible that there's just a collision of class names here. But when I go to droplet_create() against the latest openssl on CRAN, I get an error.

> analogsea::droplet_create()
Error in derive_pubkey(key) : 
  RAW() can only be applied to a 'raw', not a 'list'
> traceback()
10: .Call(R_derive_pubkey, key)
9: derive_pubkey(key)
8: as.list.key(x)
7: as.list(x)
6: `[[.key`(X[[i]], ...)
5: FUN(X[[i]], ...)
4: vapply(x, "[[", name, FUN.VALUE = type)
3: pluck(ssh_keys, "name", character(1))
2: standardise_keys(ssh_keys)
1: analogsea::droplet_create()

I can reproduce this error on versions 0.9.5 and 0.9.6 of openssl. The workaround is to install version 0.9.4 of openssl:

> devtools::install_github("jeroen/openssl", ref="v0.9.4")
...
> # RESTART R SESSION
> analogsea::droplet_create()
> # Works -- aside from issue #125

openssl is currently on version 0.9.6 on CRAN, and 0.9.5 was released around 2016-10-28.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions