urbit / urbit.org

The source for urbit.org
https://urbit.org
MIT License
93 stars 197 forks source link

Security Driver quickstart chapters need serious attention #835

Closed ault011 closed 3 years ago

ault011 commented 8 years ago

In the security drivers chapter, everything works up until the example code following this text: ‘Creating an app is easy and well-documented.‘

Then the rest of it is broken.

hoclun-rigsep commented 7 years ago

[%e %vi %pump-blocked /com/github 6]

galenwp commented 7 years ago

This error is something I'm familiar with, but could you let us know how you can ended up there?

Sent from my phone

On Jan 29, 2017, at 5:17 PM, hoclun-rigsep notifications@github.com wrote:

[%e %vi %pump-blocked /com/github 6]

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

hoclun-rigsep commented 7 years ago

It is as ault011 says: follow the instructions under the OAuth2 heading and this is what will happen. It doesn't matter whether you've run |init-auth-basic first or not. The loading of the keys from github seems to work fine. The dojo examples using |init-auth-basic seem to work fine, including those set out in the API Connectors page. The error from my last comment, [%e %vi %pump-blocked /com/github 6] starts coming up when you issue the request again after this first %ford-mystery. Attempting to double back and run |init-auth-basic gets you the %pump-blocked thing again. I'm planning on seeing if I can clean these connectors up but I've just dug into it from an elevation of complete ignorance.

> |init-oauth2
>=
[%auth "https://api.github.com/user"]
> +https://api.github.com/user
%dy-no-prompt
 [ %ford-mystery
~[
 / g
  ~bortug-nodpun-batner-satlep--possyr-dattus-sicnup-balluc
  use
  dojo
  ~bortug-nodpun-batner-satlep--possyr-dattus-sicnup-balluc
  inn
  hand
 / g
  ~bortug-nodpun-batner-satlep--possyr-dattus-sicnup-balluc
  use
  hood
  ~bortug-nodpun-batner-satlep--possyr-dattus-sicnup-balluc
  out
  dojo
  drum
  phat
  ~bortug-nodpun-batner-satlep--possyr-dattus-sicnup-balluc
  dojo
/d
//term/1
  ]  
]
!  cancel /hand
galenwp commented 7 years ago

Ah, sorry. Got this as an email and was confused. Yeah, this needs attention.

cgyarvin commented 7 years ago

This is an %eyre error which seems to indicate that the security driver has crashed. Anton the %eyre expert can probably say more.

Note that we're planning to move the security drivers to %gall in cc-release...

On Sun, Jan 29, 2017 at 5:51 PM, Galen Wolfe-Pauly <notifications@github.com

wrote:

Ah, sorry. Got this as an email and was confused. Yeah, this needs attention.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-275965079, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyAVprMu0NhjJZhKnfCriiOG4-ICzpks5rXUI5gaJpZM4Jm7YE .

hoclun-rigsep commented 7 years ago

OK. Would it be imprudent to work on the API connectors for this reason? You could also read that as, what can I do around here?

cgyarvin commented 7 years ago

"Imprudent" is too strong a word -- anything you do in API connectors will probably be portable. The road is very rocky and not under maintenance right now. But we'll always at least try to help!

Anton, did I forget to cc you here? What do you make of this issue in vi:eyre?

On Mon, Jan 30, 2017 at 3:20 PM, hoclun-rigsep notifications@github.com wrote:

OK. Would it be imprudent to work on the API connectors for this reason? You could also read that as, what can I do around here?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-276224028, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyAdxZMIgj7CUwXb0S8zLXLj_verieks5rXnBUgaJpZM4Jm7YE .

galenwp commented 7 years ago

We'd certainly like it to be under maintenance.

cgyarvin commented 7 years ago

Sorry, "under maintenance" was me misspeaking. We are maintaining the maintenance branch. I just meant not "under reconstruction" on the master branch.

On Mon, Jan 30, 2017 at 3:34 PM, Galen Wolfe-Pauly <notifications@github.com

wrote:

We'd certainly like it to be under maintenance.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-276226862, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyAXuxeBOGPpc_CVNhkCKiKcVV1S26ks5rXnOWgaJpZM4Jm7YE .

ohAitch commented 7 years ago

What's happening here is that one of your requests is not returning for some reason. The core problem is that some HTTP requests hang open indefinitely, causing the queue of outbound API requests for a domain to become blocked.

That's what the pump-blocked printf is telling you. You can change ?. liv to ?. |(liv =(4 ~(wyt in req))) in %eyre, and make another request to the same API, to retry the queue.

In the long term we need to fix two things here: how each API driver handles failures, and how Urbit actually handles dead HTTP requests. If you're interested in diving in that deeply, we're happy to help. But yeah: it’d be good to do that work on master as opposed to maintenance. They haven’t diverged all that much where API connectors are concerned, but it’ll make the cc-release transition easier.

matthewrj commented 7 years ago

How do you clean up the queue and escape from the pump-blocked state. Right now all requests to api.github.com result in [%e %vi %pump-blocked /com/github 13] and I'm not sure how to proceed.

hoclun-rigsep commented 7 years ago

Right now I am merely editing the existing security drivers and connectors so they will compile after the structural changes in zuse and hoon. Need guidance on writing things like role:lines:clay as opposed to

 =,  clay
 =,  lines 
 [...]
 role

or

=,  clay
[...]
role:lines

(And while on the subject, the relationship between . and : has always been a little mysterious to me. I can tell you what they mean ['wing lookup' and 'irregular :rap'] but their interchangeability in many circumstances gives me a creepy feeling like I'm not getting something.)

cgyarvin commented 7 years ago

Anton's fix above (at line 1947 of eyre.hoon on master) should clear this.

But... I would suggest working out of a fakezod and killing it. There's a lot of dodgy code in this area.

On Fri, Feb 3, 2017 at 4:13 PM, Matthew Jones notifications@github.com wrote:

How do you clean up the queue and escape from the pump-blocked state. Right now all requests to api.github.com result in [%e %vi %pump-blocked /com/github 13] and I'm not sure how to proceed.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-277397968, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyAd5Ga3-6aAgU-BS2m49382LzxmE2ks5rY8LGgaJpZM4Jm7YE .

cgyarvin commented 7 years ago

Since we don't have clear guidelines yet, use your best judgment. You certainly want to minimize =,. It complicates the semantics of the subject. But what makes your code more readable? That's hard to micromanage.

I can't do anything about your creepy feeling!

On Sun, Feb 5, 2017 at 12:18 PM, hoclun-rigsep notifications@github.com wrote:

Right now I am merely editing the existing security drivers and connectors so they will compile after the structural changes in zuse and hoon. Need guidance on writing things like role:lines:clay as opposed to

=, clay =, lines [...] role

or

=, clay [...] role:lines

(And while on the subject, the relationship between . and : has always been a little mysterious to me. I can tell you what they mean ['wing lookup' and 'irregular :rap'] but their interchangeability in many circumstances gives me a creepy feeling like I'm not getting something.)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-277545978, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyAVSBhkAB-WSnq-THfbf1Z9Am-chKks5rZi6kgaJpZM4Jm7YE .

hoclun-rigsep commented 7 years ago

But... I would suggest working out of a fakezod and killing it. There's a lot of dodgy code in this area.

As in, urbit -c a new fakezod every time the, uh, pump gets blocked?

cgyarvin commented 7 years ago

That's the best I can do at the moment! I'll talk to Anton about it on Monday.

On Sun, Feb 5, 2017 at 1:08 PM, hoclun-rigsep notifications@github.com wrote:

But... I would suggest working out of a fakezod and killing it. There's a lot of dodgy code in this area.

As in, urbit -c a new fakezod every time the, uh, pump gets blocked?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/urbit/docs/issues/94#issuecomment-277549535, or mute the thread https://github.com/notifications/unsubscribe-auth/AALyASYlV1MBevkP1OSSPac9BcuexW3hks5rZjpXgaJpZM4Jm7YE .

hoclun-rigsep commented 7 years ago

10-4, just making sure that's what you meant.

galenwp commented 7 years ago

I believe that editing that line in eyre and pushing another request on the stack is all that's needed.

On Feb 5, 2017, at 1:10 PM, hoclun-rigsep notifications@github.com wrote:

10-4, just making sure that's what you meant.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.