The dangerous option handling improperly detects long options as short options when determining whether or not to execute a command. For example:
May 19 20:18:32 tyr scponly: option e is not permitted for use with /usr/local/bin/rsync (arg was rver)(username: x(1000), IP/port: x.x.x.x 55013 22))
May 19 20:18:32 tyr scponly: requested command (/usr/local/bin/rsync --server --sender -lAogDtprR --numeric-ids . /usr/local/aolserver) tried to use disallowed argument (username
: x(1000), IP/port: x.x.x.x 55013 22))
It thinks that --server was -e and rejects it accordingly.
I was able to fix this by changing helper.c to use getopt_long(), however I'm not sure how portable this solution is and I only tested it with rsync.