@@ -180,6 +180,7 @@ pub fn filter_ref(
180
180
s
181
181
} else {
182
182
tracing:: trace!( "apply_to_commit (permissions)" ) ;
183
+ println ! ( "perm {:?}" , permissions) ;
183
184
184
185
filter:: apply_to_commit ( permissions, & original_commit, & transaction) ?
185
186
} ;
@@ -197,6 +198,7 @@ pub fn filter_ref(
197
198
}
198
199
}
199
200
201
+ println ! ( "filter {:?}" , filterobj) ;
200
202
let filter_commit = if let Some ( s) = transaction. get_ref ( filterobj, oid) {
201
203
s
202
204
} else {
@@ -324,39 +326,40 @@ pub fn get_acl(
324
326
) -> JoshResult < ( filter:: Filter , filter:: Filter ) > {
325
327
let users =
326
328
std:: fs:: read_to_string ( users) . map_err ( |_| josh_error ( "failed to read users file" ) ) ?;
327
- let users: Users = toml :: from_str ( & users)
329
+ let users: Users = serde_yaml :: from_str ( & users)
328
330
. map_err ( |err| josh_error ( format ! ( "failed to parse users file: {}" , err) . as_str ( ) ) ) ?;
329
331
let groups =
330
332
std:: fs:: read_to_string ( groups) . map_err ( |_| josh_error ( "failed to read groups file" ) ) ?;
331
- let groups: Groups = toml :: from_str ( & groups)
333
+ let groups: Groups = serde_yaml :: from_str ( & groups)
332
334
. map_err ( |err| josh_error ( format ! ( "failed to parse groups file: {}" , err) . as_str ( ) ) ) ?;
333
335
334
336
return users
335
337
. get ( user)
336
338
. and_then ( |u| {
337
- let mut whitelist = filter:: nop ( ) ;
339
+ let mut whitelist = filter:: empty ( ) ;
338
340
let mut blacklist = filter:: empty ( ) ;
339
341
for g in & u. groups {
340
- let group_lists = groups. get ( g . as_str ( ) ? ) . and_then ( |group | {
341
- group . get ( repo ) . and_then ( |repo | {
342
- let w = filter:: parse ( & repo . whitelist ) ;
343
- let b = filter:: parse ( & repo . blacklist ) ;
342
+ let lists = groups. get ( repo ) . and_then ( |repo | {
343
+ repo . get ( g . as_str ( ) ? ) . and_then ( |group | {
344
+ let w = filter:: parse ( & group . whitelist ) ;
345
+ let b = filter:: parse ( & group . blacklist ) ;
344
346
Some ( ( w, b) )
345
347
} )
346
348
} ) ?;
347
- if let Err ( e) = group_lists . 0 {
349
+ if let Err ( e) = lists . 0 {
348
350
return Some ( Err ( JoshError ( format ! ( "Error parsing whitelist: {}" , e) ) ) ) ;
349
351
}
350
- if let Err ( e) = group_lists . 1 {
352
+ if let Err ( e) = lists . 1 {
351
353
return Some ( Err ( JoshError ( format ! ( "Error parsing blacklist: {}" , e) ) ) ) ;
352
354
}
353
- if let Ok ( w) = group_lists . 0 {
355
+ if let Ok ( w) = lists . 0 {
354
356
whitelist = filter:: compose ( whitelist, w) ;
355
357
}
356
- if let Ok ( b) = group_lists . 1 {
358
+ if let Ok ( b) = lists . 1 {
357
359
blacklist = filter:: compose ( blacklist, b) ;
358
360
}
359
361
}
362
+ println ! ( "w: {:?}, b: {:?}" , whitelist, blacklist) ;
360
363
Some ( Ok ( ( whitelist, blacklist) ) )
361
364
} )
362
365
. unwrap_or ( Ok ( ( filter:: empty ( ) , filter:: nop ( ) ) ) ) ;
0 commit comments