#!/bin/bash hvbuild() { # Setting default mailbox format for imapd sed -i -e "s!^\(CREATEPROTO=\)unixproto!\1${MAILBOX_FORMAT}proto!" \ src/osdep/unix/Makefile make lnp # Installing imapd install -v -m 755 imapd/imapd /usr/bin install -v -m 644 src/imapd/imapd.8 /usr/man/man8/imapd.8 # Installing mailutil install -v -m 755 mailutil/mailutil /usr/bin install -v -m 644 src/mailutil/mailutil.1 /usr/man/man1/mailutil.1 # Installing dmail install -v -m 755 dmail/dmail /usr/bin install -v -m 644 src/dmail/dmail.1 /usr/man/man1/dmail.1 # Installing C-library mkdir -p /usr/lib/uw-imap/{include,lib} install -v -m 644 c-client/c-client.a /usr/lib/uw-imap/lib ln -sf /usr/lib/uw-imap/lib/c-client.a /usr/lib/uw-imap/lib/libc-client.a install -v -m 644 c-client/*.h /usr/lib/uw-imap/include install -v -m 644 src/osdep/tops-20/shortsym.h /usr/lib/uw-imap/include } hvbuild_post() { # Addition to xinetd cat > /etc/xinetd.d/imapd << "EOF" service imap { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/bin/imapd log_type = SYSLOG local4 info } EOF # Addition to /etc/services string_add "imaps 993/tcp " /etc/services # Addition to /etc/pam.conf string_add "# IMAP server" \ /etc/pam.conf string_add "imap auth required pam_unix.so nullok" \ /etc/pam.conf string_add "imap account required pam_unix.so try_first_pass" \ /etc/pam.conf string_add "imap session required pam_deny.so" \ /etc/pam.conf # SSL Certificates generation script cat > /etc/mail/imap-ssl-certs << "EOF" #!/bin/bash echo "-------------------------------------------------" echo "Generation of a Certificate Signing Request (CSR)" echo "" echo "Example fields:" echo "Country name: CA" echo "State or Province Name: Quebec" echo "Locality Name: Montreal" echo "Organization Name: Hugo Villeneuve" echo "Organizational Unit Name: ." echo "Common Name: mail.hugovil.com" echo "Email Address: postmaster@hugovil.com" echo "" echo "Please enter the following 'extra' attributes" echo "to be sent with your certificate request" echo "A challenge password []: (press enter) " echo "An optional company name []: (press enter) " echo "-------------------------------------------------" echo "" echo "-------------------------------------------------" echo "Generation of a self-signed certificate" echo "-------------------------------------------------" cd /etc/ssl/certs openssl req -new -x509 -nodes -out imapd.pem -keyout imapd.pem -days 10000 exit $? EOF chmod 740 /etc/mail/imap-ssl-certs # Making sure cram-md5.pwd is created. if [ ! -f /etc/cram-md5.pwd ]; then echo "# CRAM-MD5 authentication database" > /etc/cram-md5.pwd echo "# Entries are in the form:" >> /etc/cram-md5.pwd echo "# USERNAME PASSWORD" >> /etc/cram-md5.pwd echo "# Its mandatory that there is a single tab" >> /etc/cram-md5.pwd echo "# between the usernasme and password." >> /etc/cram-md5.pwd echo "# Lines starting with \"#\" are comments." >> /etc/cram-md5.pwd echo "" >> /etc/cram-md5.pwd chmod 600 /etc/cram-md5.pwd fi }