Changeset 345:7b7f3fc6d5c5 in roaraudio


Ignore:
Timestamp:
07/30/08 00:27:37 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added basic things for ACL support

Location:
include/roaraudio
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/roaraudio/acl.h

    r344 r345  
    44#define _ROARAUDIO_ACL_H_ 
    55 
     6// basic rule constants 
     7#define ROAR_ACL_DENY      0 
     8#define ROAR_ACL_REJECT    ROAR_ACL_DENY 
     9#define ROAR_ACL_ALLOW     1 
     10#define ROAR_ACL_ALLOW_OWN 2 
     11 
     12struct roar_acl_target { 
     13 int connect; 
     14 int stream; 
     15 int connect_to; 
     16 int exit; 
     17 int standby; 
     18 int kick; 
     19 int list; 
     20 int meta; 
     21 int volume; 
     22 int get_client; 
     23 int get_stream; 
     24 int beep; 
     25}; 
     26 
     27#define ROAR_ACL_CHK(r,w,o) (( ((r)->w) == ROAR_ACL_ALLOW || (((r)->w) == ROAR_ACL_ALLOW_OWN && (o)) ) ? 1 : 0) 
     28 
     29 
     30// A rule. 
     31// All entrys may be NULL to indicate not to compare them. 
     32// The only option is addr_use_inet_port which is used to disable checking of 
     33// the remote IP. 
     34struct roar_acl_rule { 
     35 pid_t           * pid; 
     36 uid_t           * uid; 
     37 char            * username; 
     38 int             * cookie; 
     39 struct sockaddr * addr; 
     40 socklen_t         addrlen; 
     41 int               addr_use_inet_port; 
     42}; 
     43 
    644#endif 
    745 
  • include/roaraudio/client.h

    r0 r345  
    1717 int execed; 
    1818 int streams[ROAR_CLIENTS_MAX_STREAMS_PER_CLIENT]; 
     19 struct roar_acl_target * acl; 
    1920}; 
    2021 
Note: See TracChangeset for help on using the changeset viewer.