Andres Erbsen | 975c883 | 2014-06-18 12:06:07 -0700 | [diff] [blame] | 1 | package security |
| 2 | |
Jiri Simsa | 519c507 | 2014-09-17 21:37:57 -0700 | [diff] [blame] | 3 | import "veyron.io/veyron/veyron2/security" |
Andres Erbsen | 975c883 | 2014-06-18 12:06:07 -0700 | [diff] [blame] | 4 | |
Asim Shankar | a94e507 | 2014-08-19 18:18:36 -0700 | [diff] [blame] | 5 | // Discharger is the interface for obtaining discharges for ThirdPartyCaveats. |
Andres Erbsen | 975c883 | 2014-06-18 12:06:07 -0700 | [diff] [blame] | 6 | type Discharger interface { |
| 7 | // Discharge is called by a principal that holds a blessing with a third |
| 8 | // party caveat and seeks to get a discharge that proves the fulfillment of |
| 9 | // this caveat. |
Asim Shankar | a94e507 | 2014-08-19 18:18:36 -0700 | [diff] [blame] | 10 | // |
Ankur | f044a8d | 2014-09-05 17:05:24 -0700 | [diff] [blame] | 11 | // Caveat and Discharge are of type ThirdPartyCaveat and Discharge |
Andres Erbsen | 975c883 | 2014-06-18 12:06:07 -0700 | [diff] [blame] | 12 | // respectively. (not enforced here because vdl does not know these types) |
| 13 | // TODO(ataly,ashankar): Figure out a VDL representation for ThirdPartyCaveat |
| 14 | // and Discharge and use those here? |
Todd Wang | 383e88c | 2014-12-18 01:52:34 -0800 | [diff] [blame] | 15 | Discharge(Caveat any, Impetus security.DischargeImpetus) (Discharge any | error) |
Andres Erbsen | 975c883 | 2014-06-18 12:06:07 -0700 | [diff] [blame] | 16 | } |