sudo-rs icon indicating copy to clipboard operation
sudo-rs copied to clipboard

Too many items in list

Open LeChatP opened this issue 4 months ago • 3 comments
trafficstars

Hello sudo-rs maintainers, I'm the dev from RootAsRole, I wish to report a bug 😉

Describe the bug

I wanted to compare the performance scalability of sudo-rs. I got an error when the policy gets too many items :

Benchmark 11: /usr/bin/sudo-rs /usr/bin/true (nb_tasks = 166, nb_users = 1, nb_roles = 1, nb_commands = 1)
/etc/sudoers:167:2953: too many items in list

The line in question : #1000 ALL = (ALL) NOPASSWD: R1T1, (ALL) NOPASSWD: R1T2, (ALL) NOPASSWD: R1T3, (ALL) NOPASSWD: R1T4, (ALL) NOPASSWD: R1T5, (ALL) NOPASSWD: R1T6, (ALL) NOPASSWD: R1T7, (ALL) NOPASSWD: R1T8, (ALL) NOPASSWD: R1T9, (ALL) NOPASSWD: R1T10, (ALL) NOPASSWD: R1T11, (ALL) NOPASSWD: R1T12, (ALL) NOPASSWD: R1T13, (ALL) NOPASSWD: R1T14, (ALL) NOPASSWD: R1T15, (ALL) NOPASSWD: R1T16, (ALL) NOPASSWD: R1T17, (ALL) NOPASSWD: R1T18, (ALL) NOPASSWD: R1T19, (ALL) NOPASSWD: R1T20, (ALL) NOPASSWD: R1T21, (ALL) NOPASSWD: R1T22, (ALL) NOPASSWD: R1T23, (ALL) NOPASSWD: R1T24, (ALL) NOPASSWD: R1T25, (ALL) NOPASSWD: R1T26, (ALL) NOPASSWD: R1T27, (ALL) NOPASSWD: R1T28, (ALL) NOPASSWD: R1T29, (ALL) NOPASSWD: R1T30, (ALL) NOPASSWD: R1T31, (ALL) NOPASSWD: R1T32, (ALL) NOPASSWD: R1T33, (ALL) NOPASSWD: R1T34, (ALL) NOPASSWD: R1T35, (ALL) NOPASSWD: R1T36, (ALL) NOPASSWD: R1T37, (ALL) NOPASSWD: R1T38, (ALL) NOPASSWD: R1T39, (ALL) NOPASSWD: R1T40, (ALL) NOPASSWD: R1T41, (ALL) NOPASSWD: R1T42, (ALL) NOPASSWD: R1T43, (ALL) NOPASSWD: R1T44, (ALL) NOPASSWD: R1T45, (ALL) NOPASSWD: R1T46, (ALL) NOPASSWD: R1T47, (ALL) NOPASSWD: R1T48, (ALL) NOPASSWD: R1T49, (ALL) NOPASSWD: R1T50, (ALL) NOPASSWD: R1T51, (ALL) NOPASSWD: R1T52, (ALL) NOPASSWD: R1T53, (ALL) NOPASSWD: R1T54, (ALL) NOPASSWD: R1T55, (ALL) NOPASSWD: R1T56, (ALL) NOPASSWD: R1T57, (ALL) NOPASSWD: R1T58, (ALL) NOPASSWD: R1T59, (ALL) NOPASSWD: R1T60, (ALL) NOPASSWD: R1T61, (ALL) NOPASSWD: R1T62, (ALL) NOPASSWD: R1T63, (ALL) NOPASSWD: R1T64, (ALL) NOPASSWD: R1T65, (ALL) NOPASSWD: R1T66, (ALL) NOPASSWD: R1T67, (ALL) NOPASSWD: R1T68, (ALL) NOPASSWD: R1T69, (ALL) NOPASSWD: R1T70, (ALL) NOPASSWD: R1T71, (ALL) NOPASSWD: R1T72, (ALL) NOPASSWD: R1T73, (ALL) NOPASSWD: R1T74, (ALL) NOPASSWD: R1T75, (ALL) NOPASSWD: R1T76, (ALL) NOPASSWD: R1T77, (ALL) NOPASSWD: R1T78, (ALL) NOPASSWD: R1T79, (ALL) NOPASSWD: R1T80, (ALL) NOPASSWD: R1T81, (ALL) NOPASSWD: R1T82, (ALL) NOPASSWD: R1T83, (ALL) NOPASSWD: R1T84, (ALL) NOPASSWD: R1T85, (ALL) NOPASSWD: R1T86, (ALL) NOPASSWD: R1T87, (ALL) NOPASSWD: R1T88, (ALL) NOPASSWD: R1T89, (ALL) NOPASSWD: R1T90, (ALL) NOPASSWD: R1T91, (ALL) NOPASSWD: R1T92, (ALL) NOPASSWD: R1T93, (ALL) NOPASSWD: R1T94, (ALL) NOPASSWD: R1T95, (ALL) NOPASSWD: R1T96, (ALL) NOPASSWD: R1T97, (ALL) NOPASSWD: R1T98, (ALL) NOPASSWD: R1T99, (ALL) NOPASSWD: R1T100, (ALL) NOPASSWD: R1T101, (ALL) NOPASSWD: R1T102, (ALL) NOPASSWD: R1T103, (ALL) NOPASSWD: R1T104, (ALL) NOPASSWD: R1T105, (ALL) NOPASSWD: R1T106, (ALL) NOPASSWD: R1T107, (ALL) NOPASSWD: R1T108, (ALL) NOPASSWD: R1T109, (ALL) NOPASSWD: R1T110, (ALL) NOPASSWD: R1T111, (ALL) NOPASSWD: R1T112, (ALL) NOPASSWD: R1T113, (ALL) NOPASSWD: R1T114, (ALL) NOPASSWD: R1T115, (ALL) NOPASSWD: R1T116, (ALL) NOPASSWD: R1T117, (ALL) NOPASSWD: R1T118, (ALL) NOPASSWD: R1T119, (ALL) NOPASSWD: R1T120, (ALL) NOPASSWD: R1T121, (ALL) NOPASSWD: R1T122, (ALL) NOPASSWD: R1T123, (ALL) NOPASSWD: R1T124, (ALL) NOPASSWD: R1T125, (ALL) NOPASSWD: R1T126, (ALL) NOPASSWD: R1T127, (ALL) NOPASSWD: R1T128, (ALL) NOPASSWD: R1T129, (ALL) NOPASSWD: R1T130, (ALL) NOPASSWD: R1T131, (ALL) NOPASSWD: R1T132, (ALL) NOPASSWD: R1T133, (ALL) NOPASSWD: R1T134, (ALL) NOPASSWD: R1T135, (ALL) NOPASSWD: R1T136, (ALL) NOPASSWD: R1T137, (ALL) NOPASSWD: R1T138, (ALL) NOPASSWD: R1T139, (ALL) NOPASSWD: R1T140, (ALL) NOPASSWD: R1T141, (ALL) NOPASSWD: R1T142, (ALL) NOPASSWD: R1T143, (ALL) NOPASSWD: R1T144, (ALL) NOPASSWD: R1T145, (ALL) NOPASSWD: R1T146, (ALL) NOPASSWD: R1T147, (ALL) NOPASSWD: R1T148, (ALL) NOPASSWD: R1T149, (ALL) NOPASSWD: R1T150, (ALL) NOPASSWD: R1T151, (ALL) NOPASSWD: R1T152, (ALL) NOPASSWD: R1T153, (ALL) NOPASSWD: R1T154, (ALL) NOPASSWD: R1T155, (ALL) NOPASSWD: R1T156, (ALL) NOPASSWD: R1T157, (ALL) NOPASSWD: R1T158, (ALL) NOPASSWD: R1T159, (ALL) NOPASSWD: R1T160, (ALL) NOPASSWD: R1T161, (ALL) NOPASSWD: R1T162, (ALL) NOPASSWD: R1T163, (ALL) NOPASSWD: R1T164, (ALL) NOPASSWD: R1T165, (ALL) NOPASSWD: R1T166

To Reproduce I made a repo called Rar-perf to test RootAsRole performance scalability. It generates automatically complex sudo and RootAsRole policy I was able to successfully test the performance with sudo original program but with the sudo-rs binary, the program crashes.

Expected behavior Working?

Environment (please complete the following information):

  • Linux distribution: ArchLinux (installed from repo)
  • sudo-rs commit hash: `$ sudo-rs -V -> sudo-rs 0.2.7```

Additional context Btw, I think that sudo-rs has worse performance than sudo. But it needs confirmation.

LeChatP avatar Jul 14 '25 12:07 LeChatP