Add SASL password wrapper program + update SASL instructions in README
1 files modified
1 files added
| | |
| | | |
| | | Installation: |
| | | |
| | | Edit the chgsaslpasswd.c and chgsaslpasswd.sh files as is documented |
| | | within them. |
| | | Change into the drivers directory. Edit the chgsaslpasswd.c file as is |
| | | documented within it. |
| | | |
| | | Compile the wrapper program: |
| | | gcc -o chgsaslpasswd chgsaslpasswd.c |
| | | |
| | | Chown the chgsaslpasswd and chgsaslpasswd.sh to the cyrus user and group |
| | | Chown the compiled chgsaslpasswd binary to the cyrus user and group |
| | | that your browser runs as, then chmod them to 4550. |
| | | |
| | | For example, if your cyrus user is 'cyrus' and the apache server group is |
New file |
| | |
| | | #include <stdio.h> |
| | | #include <unistd.h> |
| | | |
| | | // set the UID this script will run as (cyrus user) |
| | | #define UID 96 |
| | | // set the path to saslpasswd or saslpasswd2 |
| | | #define CMD "/usr/sbin/saslpasswd2" |
| | | |
| | | /* INSTALLING: |
| | | gcc -o chgsaslpasswd chgsaslpasswd.c |
| | | chown root.apache chgsaslpasswd |
| | | strip chgsaslpasswd |
| | | chmod 4550 chgsaslpasswd |
| | | */ |
| | | |
| | | main(int argc, char *argv[]) |
| | | { |
| | | int rc,cc; |
| | | |
| | | cc = setuid(UID); |
| | | rc = execvp(CMD, argv); |
| | | if ((rc != 0) || (cc != 0)) |
| | | { |
| | | fprintf(stderr,"__ %s: failed %d %d\n",argv[0],rc,cc); |
| | | exit(1); |
| | | } |
| | | } |