Skip to content
  • Leigh B. Stoller's avatar
    Middle part of the event system changes. The main part of this change · 54bc15c4
    Leigh B. Stoller authored
    is to add HMACs to events to ensure they that events cannot be
    injected into an experiment by an unauthorized client.
    
    * The frontend now generates a secret key for each experiment and
      stores that into a file and in the DB.
    
    * Each of the event clients, as well as the event producers
      (scheduler, tevc) have a new -k option to specify the name of the
      file. Two new event library functions were added for clients to give
      the key:
    
        event_handle_t
        event_register_withkeyfile(char *name, int threaded, char *keyfile);
    
        event_handle_t
        event_register_withkeydata(char *name, int threaded,
    	   		       unsigned char *keydata, int keylen);
    
    * When the library is in possesion of a key, it will generate an HMAC
      and attach it to outgoing notifications. A client receiving a
      notification will compute an HMAC and compare it against the HMAC in
      the notification. If they do not compare, the notification is
      dropped with a warning...
    54bc15c4