You can subscribe to this list here.
2007 |
Jan
|
Feb
(23) |
Mar
(4) |
Apr
(60) |
May
(80) |
Jun
(24) |
Jul
(12) |
Aug
(12) |
Sep
(27) |
Oct
(59) |
Nov
(152) |
Dec
(135) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(19) |
Feb
(41) |
Mar
(8) |
Apr
(12) |
May
(14) |
Jun
(8) |
Jul
(23) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(1) |
2009 |
Jan
(1) |
Feb
(8) |
Mar
(6) |
Apr
(9) |
May
(2) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(9) |
Oct
|
Nov
(3) |
Dec
|
2010 |
Jan
(2) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Adam C. <ad...@us...> - 2010-10-01 13:49:14
|
Update of /cvsroot/hcoop/domtool2/configDefault In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv9386/configDefault Modified Files: domtool.cfg exim.cfg Log Message: Removing hopper from config Index: exim.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/exim.cfg,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** exim.cfg 27 Sep 2009 19:07:34 -0000 1.9 --- exim.cfg 1 Oct 2010 13:49:06 -0000 1.10 *************** *** 8,12 **** val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish exim" ! val aliasTo = ["deleuze", "hopper"] val mainLog = "/var/log/exim4/mainlog" --- 8,12 ---- val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish exim" ! val aliasTo = ["deleuze"] val mainLog = "/var/log/exim4/mainlog" Index: domtool.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/domtool.cfg,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** domtool.cfg 27 Sep 2009 19:07:34 -0000 1.39 --- domtool.cfg 1 Oct 2010 13:49:06 -0000 1.40 *************** *** 20,33 **** val defaultMinimum = 3600 ! val nodeIps = [("deleuze", "69.90.123.67"), ("mire", "69.90.123.68"), ("outpost", "89.16.166.179"), ("hopper", "69.90.123.74")] val defaultNode = "deleuze" val masterNode = "deleuze" ! val slaveNodes = ["mire", "outpost", "hopper"] val dnsNodes_all = ["deleuze", "mire", "outpost"] val dnsNodes_admin = [] ! val mailNodes_all = ["deleuze", "hopper"] val mailNodes_admin = ["mire", "outpost"] --- 20,33 ---- val defaultMinimum = 3600 ! val nodeIps = [("deleuze", "69.90.123.67"), ("mire", "69.90.123.68"), ("outpost", "89.16.166.179")] val defaultNode = "deleuze" val masterNode = "deleuze" ! val slaveNodes = ["mire", "outpost"] val dnsNodes_all = ["deleuze", "mire", "outpost"] val dnsNodes_admin = [] ! val mailNodes_all = ["deleuze"] val mailNodes_admin = ["mire", "outpost"] |
Update of /cvsroot/hcoop/misc/scripts In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31944 Modified Files: ca-install ca-sign check_apache create-user hcoop-all-db-backup hcoop-backup hcoop-backup-wrapper listnew Log Message: Commit uncommited changes from /afs/.../scripts/ Index: hcoop-all-db-backup =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/hcoop-all-db-backup,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hcoop-all-db-backup 29 Aug 2007 18:49:23 -0000 1.1 --- hcoop-all-db-backup 16 Feb 2010 18:20:31 -0000 1.2 *************** *** 7,11 **** BACKUP_ROOT=/var/backups/databases ! BACKUP_DAYS=7 if ! test -d "$BACKUP_ROOT"; then --- 7,11 ---- BACKUP_ROOT=/var/backups/databases ! BACKUP_DAYS=2 if ! test -d "$BACKUP_ROOT"; then Index: listnew =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/listnew,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** listnew 8 Dec 2007 23:28:12 -0000 1.4 --- listnew 16 Feb 2010 18:20:31 -0000 1.5 *************** *** 19,22 **** --- 19,26 ---- usage exit 1 + elif test "$UID" != "0"; then + echo "This program must be run as root" + usage + exit 1 else LIST_NAME=$1 *************** *** 27,32 **** fi ! sudo -u list $BIN/newlist $LIST_NAME@$LIST_DOMAIN $LIS...@hc... \ ! $LIST_PASS </dev/null # By default, use our list admin website for the public interface. --- 31,41 ---- fi ! # If DOMAIN is hcoop.net, force it to be lists.hcoop.net. ! if test "$LIST_DOMAIN" = "hcoop.net"; then ! LIST_DOMAIN=lists.hcoop.net ! fi ! ! sudo -u list $BIN/newlist \ ! $LIST_NAME@$LIST_DOMAIN $LIS...@hc... $LIST_PASS </dev/null # By default, use our list admin website for the public interface. Index: ca-install =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/ca-install,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ca-install 18 Nov 2007 01:03:52 -0000 1.1 --- ca-install 16 Feb 2010 18:20:16 -0000 1.2 *************** *** 1,23 **** ! #!/bin/sh # # Install a signed certificate, placing a complimentary copy in the ! # user's homedir. Also grant user domtool permissions. # ! # If the certificate comes from the USER's home directory, then don't ! # place an extra copy there. # # Run this on deleuze as an admin. # ! # Usage: ca-install user domain cert-file.pem [key-file.pem] # Check arguments if test -n "$5"; then ! echo "Error: Too many arguments" ! exit 1 elif test -z "$3"; then ! echo "Error: Not enough arguments" ! exit 1 else ! USER=$1 DOMAIN=$2 CERT=$3 --- 1,30 ---- ! #!/bin/bash # # Install a signed certificate, placing a complimentary copy in the ! # member's homedir. Validation is done on the certificate before ! # allowing it to be installed. Also grant member domtool permissions ! # for the certificate. # ! # If the certificate comes from the member's home directory, then ! # don't place an extra copy there. # # Run this on deleuze as an admin. # ! # Usage: ca-install member domain cert-file.pem [key-file.pem] ! ! function usage () { ! echo "Usage: ca-install member domain cert-file.pem [key-file.pem]" ! exit 1 ! } # Check arguments if test -n "$5"; then ! echo "Error: Too many arguments." ! usage elif test -z "$3"; then ! echo "Error: Not enough arguments." ! usage else ! MEMBER=$1 DOMAIN=$2 CERT=$3 *************** *** 25,43 **** fi # Sanity-check some paths ! if test ! -f $CERT; then ! echo "Error: Nonexistent or unreadable cert $CERT" exit 1 fi ! if test -n "$KEY" && test ! -f $KEY; then ! echo "Error: Nonexistent or unreadable key $KEY" exit 1 fi # Figure out destination for complimentary copy APACHE_DEST=/etc/apache2/ssl/user/$DOMAIN.pem ! USERHOME=$(getent passwd $USER | cut -d':' -f 6) if test -n "$KEY"; then ! DEST=$(dirname $KEY)/$DOMAIN.pem else DEST= --- 32,87 ---- fi + WEBSERVER=mire.hcoop.net + + function verify_cert () { + if test -z "$2" || test -n "$3"; then + echo "Bad programming." + exit 1 + fi + local CERT=$1 + local KEY=$2 + local MOD1=$(openssl x509 -noout -modulus -in "$CERT" 2>&1) + if test $(echo "$MOD1" | wc -c) -lt 500; then + echo "Error: Bad x509 part in certificate." + exit 1 + fi + local MOD2=$(openssl rsa -noout -modulus -in "$KEY" 2>&1) + if test $(echo "$MOD2" | wc -c) -lt 500; then + echo "Error: Bad RSA part in certificate or key." + exit 1 + fi + if test "$MOD1" != "$MOD2"; then + echo "Error: x509 and RSA parts in certificate do not match." + exit 1 + fi + } + + # Make sure we run this from deleuze + if test "$(hostname -s)" != "deleuze"; then + echo "Error: This script must be run from deleuze." + exit 1 + fi + # Sanity-check some paths ! if test ! -f "$CERT"; then ! echo "Error: Nonexistent or unreadable cert $CERT." exit 1 fi ! if test -n "$KEY" && test ! -f "$KEY"; then ! echo "Error: Nonexistent or unreadable key $KEY." exit 1 fi + # Check for valid username + if ! getent passwd "$MEMBER" > /dev/null; then + echo "Error: Invalid user \"$MEMBER\"." + exit 1 + fi + # Figure out destination for complimentary copy APACHE_DEST=/etc/apache2/ssl/user/$DOMAIN.pem ! MEMBERHOME=$(getent passwd $MEMBER | cut -d':' -f 6) if test -n "$KEY"; then ! DEST="$(dirname $KEY)/$DOMAIN.pem" else DEST= *************** *** 46,82 **** # Perform complimentary copy if test -z "$DEST"; then ! echo "No key specified, so skipping complimentary copy" ! elif echo "$CERT" | grep "^$USERHOME" > /dev/null; then ! echo "User already has a cert, skipping the complimentary copy" ! elif test -f $DEST; then ! echo "Not overwriting existing file $DEST" else ! echo "Copying signed certificate to user's home directory ..." ! cp $CERT $DEST ! chown $USER:nogroup $DEST fi echo # Determine whether we need to concatenate a private key ! if grep "^-----BEGIN RSA PRIVATE KEY-----" $CERT > /dev/null; then KEY= else if test -z "$KEY"; then ! echo "Error: No private key is included with this certificate" exit 1 fi fi ! # Copy complete certificate to mire if test -z "$KEY"; then ! echo "Installing cert to Apache SSL directory ..." ! cat $CERT | ssh mire.hcoop.net sudo tee $APACHE_DEST > /dev/null else ! echo "Installing cert to Apache SSL directory, adding key ..." ! cat $CERT $KEY | ssh mire.hcoop.net sudo tee $APACHE_DEST > /dev/null fi echo # Grant Domtool permissions ! echo "Granting user Domtool permissions for the cert ..." ! domtool-admin grant $USER cert $APACHE_DEST --- 90,141 ---- # Perform complimentary copy if test -z "$DEST"; then ! echo "No key specified, so skipping complimentary copy." ! elif echo "$CERT" | grep "^$MEMBERHOME" > /dev/null; then ! echo "Member already has a cert, skipping the complimentary copy." ! elif test -f "$DEST"; then ! echo "Not overwriting existing file $DEST." else ! echo "Copying signed certificate to member's home directory ..." ! cp "$CERT" "$DEST" ! chown $MEMBER:nogroup "$DEST" fi echo # Determine whether we need to concatenate a private key ! if grep "^-----BEGIN RSA PRIVATE KEY-----" "$CERT" > /dev/null; then KEY= else if test -z "$KEY"; then ! echo "Error: No RSA private key is included with this certificate." exit 1 fi fi ! # Verify certificate and key ! echo "Validating certificate ..." if test -z "$KEY"; then ! verify_cert "$CERT" "$CERT" else ! verify_cert "$CERT" "$KEY" ! fi ! echo "Certificate passed validatation." ! echo ! ! # Copy complete certificate to webserver ! if test -z "$KEY"; then ! echo "Installing certificate to Apache SSL directory ..." ! < "$CERT" ssh $WEBSERVER sudo tee "$APACHE_DEST" > /dev/null ! else ! echo "Installing certificate and key to Apache SSL directory ..." ! cat "$CERT" "$KEY" | ssh $WEBSERVER sudo tee "$APACHE_DEST" > /dev/null fi echo # Grant Domtool permissions ! echo "Granting member Domtool permissions for the certificate ..." ! domtool-admin grant $MEMBER cert "$APACHE_DEST" ! echo ! ! # Tell admin what to do ! echo "Done. Tell $MEMBER that the certificate is available for use at" ! echo " $APACHE_DEST" Index: ca-sign =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/ca-sign,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ca-sign 20 Nov 2007 21:40:20 -0000 1.2 --- ca-sign 16 Feb 2010 18:20:19 -0000 1.3 *************** *** 1,10 **** ! #!/bin/sh -e # # Sign a certificate request as a CA. Run this on deleuze as an ! # admin. # ! # Usage: ca-sign days request.csr out-cert-file.pem ! test -n "$3" || exit 1 DIR=/var/local/lib/ca --- 1,29 ---- ! #!/bin/bash # # Sign a certificate request as a CA. Run this on deleuze as an ! # admin. If a domain is provided, then the certificate request must ! # apply only to that domain. # ! # Run this on deleuze as an admin. ! # ! # Usage: ca-sign days request.csr key.asc outfile.pem [domain] ! # ! # If we need to generate a new CA private key and cert, do: ! # ! # $ openssl genrsa -out private/ca.key 2048 -nodes ! # $ openssl req -config openssl.cnf -x509 -sha1 -days 3650 \ ! # -key private/ca.key -new -out ca.crt ! if test -n "$6" || test -z "$4"; then ! echo "Incorrect arguments." ! echo "Usage: ca-sign days request.csr key.asc outfile.pem [domain]" ! exit 1 ! fi ! ! # Make sure we run this from deleuze ! if test "$(hostname -s)" != "deleuze"; then ! echo "Error: This script must be run from deleuze." ! exit 1 ! fi DIR=/var/local/lib/ca *************** *** 17,32 **** CA_LOC=/afs/hcoop.net/user/h/hc/hcoop/public_html/ca DAYS=$1 REQUEST=$2 ! PEM=$3 ID=$(cat -- $DIR/serial) ! # Sign. echo "Signing certificate request $REQUEST ..." ! openssl ca -config $CONF -policy $POLICY -out $PEM -in $REQUEST -days $DAYS echo # Make a copy of the request ! cp $REQUEST $DIR/requests/$ID.csr # Update revocation list. --- 36,95 ---- CA_LOC=/afs/hcoop.net/user/h/hc/hcoop/public_html/ca + # Parameters DAYS=$1 REQUEST=$2 ! KEY=$3 ! PEM=$4 ! DOMAIN=$5 ! ! # Make sure completed certificate does not already exist ! if test -e "$PEM"; then ! echo "Error: Refusing to overwrite existing certificate at" ! echo " $PEM." ! exit 1 ! fi ! ! # Make sure that the key and request do exist ! if test ! -f "$REQUEST"; then ! echo "Error: The given certificate request file does not exist." ! exit 1 ! fi ! if test ! -f "$KEY"; then ! echo "Error: The given key file does not exist." ! exit 1 ! fi ! ! # Verify request ! STATUS=$(openssl req -noout -in "$REQUEST" -verify 2>&1) ! if test "$STATUS" != "verify OK"; then ! echo "Error: This is not a valid certificate request." ! exit 1 ! fi ! if test -n "$DOMAIN"; then ! CN=$(openssl req -text -in "$REQUEST" | grep "Subject:" | grep "CN=." | \ ! sed -r -e 's/^.*CN=([^/=,]+).*$/\1/1') ! if test "${CN%%${DOMAIN}}" = "${CN}"; then ! echo "Error: Domain in cert does not match $DOMAIN." ! exit 1 ! fi ! fi ! ! # Get new serial number ID=$(cat -- $DIR/serial) ! # Exit on error ! set -e ! ! # Sign echo "Signing certificate request $REQUEST ..." ! openssl ca -config $CONF -policy $POLICY -out "$PEM" -in "$REQUEST" \ ! -days "$DAYS" echo # Make a copy of the request ! cp "$REQUEST" $DIR/requests/$ID.csr ! ! # Append key to generated certificate ! cat "$KEY" >> "$PEM" # Update revocation list. Index: create-user =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/create-user,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** create-user 4 Apr 2009 13:08:39 -0000 1.41 --- create-user 16 Feb 2010 18:20:19 -0000 1.42 *************** *** 147,154 **** sudo chmod 440 /etc/keytabs/user.daemon/$USER ! # rsync keytabs to mire (cd /etc/keytabs sudo tar clpf - user.daemon/$USER | \ ssh mire.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) # --- 147,157 ---- sudo chmod 440 /etc/keytabs/user.daemon/$USER ! # rsync keytabs (cd /etc/keytabs sudo tar clpf - user.daemon/$USER | \ ssh mire.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) + (cd /etc/keytabs + sudo tar clpf - user.daemon/$USER | \ + ssh hopper.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) # *************** *** 157,162 **** --- 160,170 ---- # HOME VOLUME + if vos examine user.$USER.d 2>/dev/null; then + echo "Reactivating old volume (user.$USER.d)" + vos rename user.$USER.d user.$USER + fi vos examine user.$USER 2>/dev/null || \ vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000 + mkdir -p `dirname $HOMEPATH` fs ls $HOMEPATH || test -L $HOMEPATH || fs mkm $HOMEPATH user.$USER *************** *** 204,209 **** --- 212,222 ---- # MAIL VOLUME + if vos examine mail.$USER.d 2>/dev/null; then + echo "Reactivating old volume (mail.$USER.d)" + vos rename mail.$USER.d mail.$USER + fi vos examine mail.$USER 2>/dev/null || \ vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000 + mkdir -p `dirname $MAILPATH` fs ls $MAILPATH || fs mkm $MAILPATH mail.$USER Index: hcoop-backup-wrapper =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/hcoop-backup-wrapper,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hcoop-backup-wrapper 15 Jan 2008 00:07:10 -0000 1.1 --- hcoop-backup-wrapper 16 Feb 2010 18:20:31 -0000 1.2 *************** *** 1,13 **** #!/bin/bash ! exec >& /var/log/backup-to-megacz.com-wrapper-log touch /xyz/zys # generate an error message - fs checks -cell megacz.com fs checkvol ! rm -f /var/log/backup-to-megacz.com-log ! echo "groups before k5start" > /var/log/backup-to-megacz.com-log ! groups >> /var/log/backup-to-megacz.com-log ! export KINIT_PROG='aklog -c hcoop.net;aklog -c megacz.com' exec k5start -f /etc/keytabs/hcoop hcoop@HCOOP.NET -t \ ! /afs/hcoop.net/common/etc/scripts/hcoop-backup --- 1,12 ---- #!/bin/bash ! exec >& /var/log/backup-to-rsync-wrapper-log touch /xyz/zys # generate an error message fs checkvol ! LOG=/var/log/backup-to-rsync-log ! rm -f $LOG ! echo "groups before k5start" > $LOG ! groups >> $LOG exec k5start -f /etc/keytabs/hcoop hcoop@HCOOP.NET -t \ ! $(dirname $0)/hcoop-backup >& $LOG Index: hcoop-backup =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/hcoop-backup,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** hcoop-backup 4 Apr 2009 13:30:29 -0000 1.11 --- hcoop-backup 16 Feb 2010 18:20:31 -0000 1.12 *************** *** 106,109 **** --- 106,110 ---- grep -v ^/var/lib/postgres/ | \ grep -v ^/var/lib/postgresql/ | \ + grep -v ^/usr/lib/ghc-6.6/ | \ xargs -I{} -d\\n -- bash -c "test -L '{}' || echo '{}'" > complain Index: check_apache =================================================================== RCS file: /cvsroot/hcoop/misc/scripts/check_apache,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** check_apache 9 Apr 2009 20:57:42 -0000 1.2 --- check_apache 16 Feb 2010 18:20:19 -0000 1.3 *************** *** 1,7 **** #!/bin/bash ! # Pass two command-line arguments: timeout in seconds and the URL to try retrieving to see if Apache is working ! if wget -q -t 1 -O /dev/null -T $1 $2; then echo "No problem" >/dev/null else --- 1,7 ---- #!/bin/bash ! # Pass one command-line argument: the URL to try retrieving to see if Apache is working ! if wget -q -t 1 -O /dev/null -T 5 $1; then echo "No problem" >/dev/null else |
From: Davor O. <do...@us...> - 2010-02-16 17:39:34
|
Update of /cvsroot/hcoop/domtool2/pcre/mlton In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25292/pcre/mlton Modified Files: libpcre-h.sml Log Message: Fix pcre_sml.so paths Index: libpcre-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/pcre/mlton/libpcre-h.sml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** libpcre-h.sml 27 Sep 2009 17:02:49 -0000 1.4 --- libpcre-h.sml 16 Feb 2010 17:39:13 -0000 1.5 *************** *** 2,6 **** local val global = "/usr/local/lib/pcre_sml.so" ! val locl = "openssl/pcre_sml.so" val lh = DynLinkage.open_lib --- 2,6 ---- local val global = "/usr/local/lib/pcre_sml.so" ! val locl = "pcre/pcre_sml.so" val lh = DynLinkage.open_lib |
From: Davor O. <do...@us...> - 2010-02-16 17:39:34
|
Update of /cvsroot/hcoop/domtool2/pcre/smlnj In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25292/pcre/smlnj Modified Files: libpcre-h.sml Log Message: Fix pcre_sml.so paths Index: libpcre-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/pcre/smlnj/libpcre-h.sml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** libpcre-h.sml 27 Sep 2009 17:02:50 -0000 1.2 --- libpcre-h.sml 16 Feb 2010 17:39:26 -0000 1.3 *************** *** 2,6 **** local val global = "/usr/local/lib/pcre_sml.so" ! val locl = "openssl/pcre_sml.so" val lh = DynLinkage.open_lib --- 2,6 ---- local val global = "/usr/local/lib/pcre_sml.so" ! val locl = "pcre/pcre_sml.so" val lh = DynLinkage.open_lib |
From: Adam C. <ad...@us...> - 2010-02-02 13:19:32
|
Update of /cvsroot/hcoop/portal/app In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22287/app Modified Files: app.sml Log Message: Join script should rule out retired usernames Index: app.sml =================================================================== RCS file: /cvsroot/hcoop/portal/app/app.sml,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** app.sml 22 Feb 2008 00:59:15 -0000 1.16 --- app.sml 2 Feb 2010 13:19:21 -0000 1.17 *************** *** 177,181 **** fun userExists name = ! (Posix.SysDB.getpwnam name; true) handle OS.SysErr _ => false fun confirm (id, passwd) = --- 177,183 ---- fun userExists name = ! case C.oneOrNoRows (getDb ()) ($`SELECT id FROM WebUser WHERE name = ^(C.stringToSql name)`) of ! SOME _ => true ! | NONE => (Posix.SysDB.getpwnam name; true) handle OS.SysErr _ => false fun confirm (id, passwd) = |
From: Davor O. <do...@us...> - 2010-01-06 11:28:13
|
Update of /cvsroot/hcoop/domtool2/lib In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23755/lib Modified Files: hcoop.dtl Log Message: Add fritz_ip 69.90.123.75 Index: hcoop.dtl =================================================================== RCS file: /cvsroot/hcoop/domtool2/lib/hcoop.dtl,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** hcoop.dtl 31 Mar 2008 00:27:49 -0000 1.8 --- hcoop.dtl 6 Jan 2010 11:28:02 -0000 1.9 *************** *** 15,18 **** --- 15,19 ---- lists.hcoop.net.}} + val fritz_ip : (ip) = "69.90.123.75"; val deleuze_ip : (ip) = "69.90.123.67"; val mire_ip : (ip) = "69.90.123.68"; |
From: Adam C. <ad...@us...> - 2010-01-05 19:14:08
|
Update of /cvsroot/hcoop/domtool2/configDefault In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv14470/configDefault Modified Files: mailman.cfg Log Message: Change deleuze back to default Mailman node Index: mailman.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/mailman.cfg,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** mailman.cfg 27 Sep 2009 19:07:34 -0000 1.6 --- mailman.cfg 5 Jan 2010 19:13:55 -0000 1.7 *************** *** 1,5 **** structure Mailman :> MAILMAN_CONFIG = struct ! val node = "hopper" val mapFile = "/var/domtool/mailman.map" --- 1,5 ---- structure Mailman :> MAILMAN_CONFIG = struct ! val node = "deleuze" val mapFile = "/var/domtool/mailman.map" |
From: Adam C. <ad...@us...> - 2009-11-24 20:13:27
|
Update of /cvsroot/hcoop/portal In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv16704 Modified Files: pledge.mlt Log Message: Change dues amount on pledge page Index: pledge.mlt =================================================================== RCS file: /cvsroot/hcoop/portal/pledge.mlt,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** pledge.mlt 26 Apr 2008 16:21:59 -0000 1.4 --- pledge.mlt 24 Nov 2009 20:13:17 -0000 1.5 *************** *** 19,23 **** val user = Init.getUser () %> ! <p>Base HCoop membership dues are set at $5/mo.. On this page, you can set a <i>pledge amount</i> above one, so that you pay 5<i>N</i> dollars a month, where <i>N</i> is your pledge amount, to help offset costs for members with more stringent budgets. If the members listed below weren't making extra pledges, we would need to increase the base dues amount of $5 to cover our costs.</p> <!--p>HCoop divides expenses among members based on a "sliding scale"-style scheme. We charge you only for our concrete expenses, not adding any expenses beyond what we pay to service providers and vendors. Whenever a concrete expense needs to be paid for, we divide it among the members based on how much each of you has pledged on this web page. Your pledge is a whole number 1 or higher which you can think of as indicating how many times the amount paid by the lowest-contributing members you are willing to pay. Concretely, every expense is divided by the sum of all members' pledges, and each member is charged an amount equal to the result of that division times his pledge number. This way <i>everyone's</i> monthly costs go down automatically as we gain new members.</p--> --- 19,23 ---- val user = Init.getUser () %> ! <p>Base HCoop membership dues are set at $7/mo.. On this page, you can set a <i>pledge amount</i> above one, so that you pay 7<i>N</i> dollars a month, where <i>N</i> is your pledge amount, to help offset costs for members with more stringent budgets. If the members listed below weren't making extra pledges, we would need to increase the base dues amount of $7 to cover our costs.</p> <!--p>HCoop divides expenses among members based on a "sliding scale"-style scheme. We charge you only for our concrete expenses, not adding any expenses beyond what we pay to service providers and vendors. Whenever a concrete expense needs to be paid for, we divide it among the members based on how much each of you has pledged on this web page. Your pledge is a whole number 1 or higher which you can think of as indicating how many times the amount paid by the lowest-contributing members you are willing to pay. Concretely, every expense is divided by the sum of all members' pledges, and each member is charged an amount equal to the result of that division times his pledge number. This way <i>everyone's</i> monthly costs go down automatically as we gain new members.</p--> *************** *** 36,40 **** <form method="post"> <input type="hidden" name="cmd" value="calc"> ! $<input name="amt" size="7" value="750"> <input type="submit" value="Calculate"> </form> --- 36,40 ---- <form method="post"> <input type="hidden" name="cmd" value="calc"> ! $<input name="amt" size="7" value="850"> <input type="submit" value="Calculate"> </form> |
From: Adam C. <ad...@us...> - 2009-11-24 13:36:51
|
Update of /cvsroot/hcoop/portal/remind In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19950/remind Modified Files: remind.sml Log Message: Fold dues increase into portal Index: remind.sml =================================================================== RCS file: /cvsroot/hcoop/portal/remind/remind.sml,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** remind.sml 11 May 2008 11:39:27 -0000 1.14 --- remind.sml 24 Nov 2009 13:36:43 -0000 1.15 *************** *** 12,16 **** Real.fmt (StringCvt.FIX (SOME 2)) n ! val basePerMonth = 5.0 val deposit = basePerMonth * 3.0 --- 12,16 ---- Real.fmt (StringCvt.FIX (SOME 2)) n ! val basePerMonth = 7.0 val deposit = basePerMonth * 3.0 *************** *** 78,82 **** write (printReal (headsUp - amount)); ! write "\n\nThe deposit requirement was calculated as three months of dues at $5/mo..\n\n"; write "To make a payment, visit:\n"; --- 78,82 ---- write (printReal (headsUp - amount)); ! write "\n\nThe deposit requirement was calculated as three months of dues at $7/mo..\n\n"; write "To make a payment, visit:\n"; |
From: Adam C. <ad...@us...> - 2009-11-24 13:36:51
|
Update of /cvsroot/hcoop/portal In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19950 Modified Files: balance.sml money.sml Log Message: Fold dues increase into portal Index: balance.sml =================================================================== RCS file: /cvsroot/hcoop/portal/balance.sml,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** balance.sml 21 Mar 2009 14:43:06 -0000 1.14 --- balance.sml 24 Nov 2009 13:36:43 -0000 1.15 *************** *** 109,113 **** fun isNegative (bal : balance) = #amount bal < 0.0 ! fun depositAmount _ = 5.0 * 3.0 (*fun depositAmount bal = let --- 109,113 ---- fun isNegative (bal : balance) = #amount bal < 0.0 ! fun depositAmount _ = 7.0 * 3.0 (*fun depositAmount bal = let Index: money.sml =================================================================== RCS file: /cvsroot/hcoop/portal/money.sml,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** money.sml 31 May 2008 17:42:32 -0000 1.18 --- money.sml 24 Nov 2009 13:36:43 -0000 1.19 *************** *** 277,281 **** val graceMonths = 1 ! val baseDues = 5.0 fun delinquentPledgers () = --- 277,281 ---- val graceMonths = 1 ! val baseDues = 7.0 fun delinquentPledgers () = *************** *** 297,302 **** fun freezeworthyPledgers () = let - val baseDues = 5.0 - fun makeRow [id, name, amount, j] = {id = C.intFromSql id, name = C.stringFromSql name, balance = C.realFromSql amount, joinedThisMonth = C.boolFromSql j} --- 297,300 ---- *************** *** 312,317 **** fun bootworthyPledgers () = let - val baseDues = 5.0 - fun makeRow [id, name, amount, j] = {id = C.intFromSql id, name = C.stringFromSql name, balance = C.realFromSql amount, joinedThisMonth = C.boolFromSql j} --- 310,313 ---- |
From: Adam C. <ad...@us...> - 2009-09-29 14:32:31
|
Update of /cvsroot/hcoop/domtool2/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv23251/src Modified Files: domain.sml Log Message: Don't send DNS info to servers that don't run DNS daemons Index: domain.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/domain.sml,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** domain.sml 27 Sep 2009 19:07:34 -0000 1.71 --- domain.sml 29 Sep 2009 14:32:23 -0000 1.72 *************** *** 283,287 **** dl) ! val slavesD = (EList (map (fn s => (EString s, dl)) Config.slaveNodes), dl) val _ = Defaults.registerDefault ("Aliases", --- 283,288 ---- dl) ! val slavesD = (EList (map (fn s => (EString s, dl)) ! (List.filter (fn x => List.exists (fn y => y = x) (Config.dnsNodes_all @ Config.dnsNodes_admin)) Config.slaveNodes)), dl) val _ = Defaults.registerDefault ("Aliases", |
From: Adam C. <ad...@us...> - 2009-09-29 14:09:58
|
Update of /cvsroot/hcoop/domtool2/configDefault In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv21439/configDefault Modified Files: courier.cfg Log Message: Fixing Courier userdb rsync commands Index: courier.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/courier.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** courier.cfg 27 Sep 2009 19:07:34 -0000 1.3 --- courier.cfg 29 Sep 2009 14:09:49 -0000 1.4 *************** *** 16,21 **** (* SMTP log *) ! val pushUserdb = "/usr/bin/rsync -r --delete /etc/courier/userdb /afs/hcoop.net/common/etc/domtool/email/userdb" ! val pullUserdb = "/usr/bin/rsync -r --delete /afs/hcoop.net/common/etc/domtool/email/userdb /etc/courier/userdb" end --- 16,21 ---- (* SMTP log *) ! val pushUserdb = "/usr/bin/rsync -r --delete /etc/courier/userdb/* /afs/hcoop.net/common/etc/domtool/email/userdb/" ! val pullUserdb = "/usr/bin/rsync -r --delete /afs/hcoop.net/common/etc/domtool/email/userdb/* /etc/courier/userdb/" end |
From: Adam C. <ad...@us...> - 2009-09-27 19:07:43
|
Update of /cvsroot/hcoop/domtool2/configDefault In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv6994/configDefault Modified Files: courier.cfg courier.csg domtool.cfg exim.cfg mailman.cfg Log Message: Changes to support IMAP on hopper all compile but are not tested yet Index: mailman.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/mailman.cfg,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** mailman.cfg 19 Feb 2007 02:37:00 -0000 1.5 --- mailman.cfg 27 Sep 2009 19:07:34 -0000 1.6 *************** *** 1,5 **** structure Mailman :> MAILMAN_CONFIG = struct ! val node = "deleuze" val mapFile = "/var/domtool/mailman.map" --- 1,5 ---- structure Mailman :> MAILMAN_CONFIG = struct ! val node = "hopper" val mapFile = "/var/domtool/mailman.map" Index: exim.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/exim.cfg,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** exim.cfg 19 Feb 2007 03:03:06 -0000 1.8 --- exim.cfg 27 Sep 2009 19:07:34 -0000 1.9 *************** *** 8,12 **** val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish exim" ! val aliasTo = ["deleuze"] val mainLog = "/var/log/exim4/mainlog" --- 8,12 ---- val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish exim" ! val aliasTo = ["deleuze", "hopper"] val mainLog = "/var/log/exim4/mainlog" Index: courier.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/courier.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** courier.cfg 23 Dec 2006 21:18:31 -0000 1.2 --- courier.cfg 27 Sep 2009 19:07:34 -0000 1.3 *************** *** 16,18 **** --- 16,21 ---- (* SMTP log *) + val pushUserdb = "/usr/bin/rsync -r --delete /etc/courier/userdb /afs/hcoop.net/common/etc/domtool/email/userdb" + val pullUserdb = "/usr/bin/rsync -r --delete /afs/hcoop.net/common/etc/domtool/email/userdb /etc/courier/userdb" + end Index: courier.csg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/courier.csg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** courier.csg 23 Dec 2006 20:40:17 -0000 1.1 --- courier.csg 27 Sep 2009 19:07:34 -0000 1.2 *************** *** 11,14 **** --- 11,17 ---- val logFile : string + + val pushUserdb : string + val pullUserdb : string end Index: domtool.cfg =================================================================== RCS file: /cvsroot/hcoop/domtool2/configDefault/domtool.cfg,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** domtool.cfg 17 Feb 2009 16:30:22 -0000 1.38 --- domtool.cfg 27 Sep 2009 19:07:34 -0000 1.39 *************** *** 20,33 **** val defaultMinimum = 3600 ! val nodeIps = [("deleuze", "69.90.123.67"), ("mire", "69.90.123.68"), ("outpost", "89.16.166.179")] val defaultNode = "deleuze" val masterNode = "deleuze" ! val slaveNodes = ["mire", "outpost"] val dnsNodes_all = ["deleuze", "mire", "outpost"] val dnsNodes_admin = [] ! val mailNodes_all = ["deleuze"] val mailNodes_admin = ["mire", "outpost"] --- 20,33 ---- val defaultMinimum = 3600 ! val nodeIps = [("deleuze", "69.90.123.67"), ("mire", "69.90.123.68"), ("outpost", "89.16.166.179"), ("hopper", "69.90.123.74")] val defaultNode = "deleuze" val masterNode = "deleuze" ! val slaveNodes = ["mire", "outpost", "hopper"] val dnsNodes_all = ["deleuze", "mire", "outpost"] val dnsNodes_admin = [] ! val mailNodes_all = ["deleuze", "hopper"] val mailNodes_admin = ["mire", "outpost"] |
From: Adam C. <ad...@us...> - 2009-09-27 19:07:42
|
Update of /cvsroot/hcoop/domtool2/src/mail In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv6994/src/mail Modified Files: vmail.sig vmail.sml Log Message: Changes to support IMAP on hopper all compile but are not tested yet Index: vmail.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/mail/vmail.sml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vmail.sml 4 Nov 2007 21:21:15 -0000 1.6 --- vmail.sml 27 Sep 2009 19:07:34 -0000 1.7 *************** *** 1,4 **** (* HCoop Domtool (http://hcoop.sourceforge.net/) ! * Copyright (c) 2006, Adam Chlipala * * This program is free software; you can redistribute it and/or --- 1,4 ---- (* HCoop Domtool (http://hcoop.sourceforge.net/) ! * Copyright (c) 2006-2009, Adam Chlipala * * This program is free software; you can redistribute it and/or *************** *** 21,25 **** structure Vmail :> VMAIL = struct ! fun rebuild () = Slave.shell [Config.Courier.postReload] datatype listing = --- 21,63 ---- structure Vmail :> VMAIL = struct ! open MsgTypes ! ! fun rebuild () = ! let ! fun doNode (site, ok) = ! (print ("New vmail data for node " ^ site ^ "\n"); ! if site = Config.defaultNode then ! Slave.shell [Config.Courier.postReload] andalso ok ! else let ! val bio = OpenSSL.connect true (Domain.get_context (), ! Domain.nodeIp site ! ^ ":" ! ^ Int.toString Config.slavePort) ! in ! Msg.send (bio, MsgVmailChanged); ! (case Msg.recv bio of ! NONE => (print "Slave closed connection unexpectedly\n"; ! false) ! | SOME m => ! case m of ! MsgOk => (print ("Slave " ^ site ^ " finished\n"); ! ok) ! | MsgError s => (print ("Slave " ^ site ! ^ " returned error: " ^ ! s ^ "\n"); ! false) ! | _ => (print ("Slave " ^ site ! ^ " returned unexpected command\n"); ! false)) ! before OpenSSL.close bio ! end) ! in ! Slave.shell [Config.Courier.pushUserdb] ! andalso foldl doNode true Config.mailNodes_all ! end ! ! fun doChanged () = ! Slave.shell [Config.Courier.pullUserdb] ! andalso Slave.shell [Config.Courier.postReload] datatype listing = *************** *** 30,34 **** let val file = OS.Path.joinDirFile {dir = Config.Courier.userdbDir, ! file = domain} in if Posix.FileSys.access (file, []) then --- 68,72 ---- let val file = OS.Path.joinDirFile {dir = Config.Courier.userdbDir, ! file = domain} in if Posix.FileSys.access (file, []) then Index: vmail.sig =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/mail/vmail.sig,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** vmail.sig 23 Dec 2006 21:50:40 -0000 1.4 --- vmail.sig 27 Sep 2009 19:07:34 -0000 1.5 *************** *** 39,43 **** val rm : {domain : string, user : string} -> string option ! end --- 39,43 ---- val rm : {domain : string, user : string} -> string option ! val doChanged : unit -> bool end |
From: Adam C. <ad...@us...> - 2009-09-27 19:07:42
|
Update of /cvsroot/hcoop/domtool2/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv6994/src Modified Files: domain.sig domain.sml main.sml msg.sml msgTypes.sml Log Message: Changes to support IMAP on hopper all compile but are not tested yet Index: domain.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/domain.sml,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** domain.sml 14 Apr 2009 14:07:25 -0000 1.70 --- domain.sml 27 Sep 2009 19:07:34 -0000 1.71 *************** *** 28,31 **** --- 28,32 ---- val ssl_context = ref (NONE : OpenSSL.context option) fun set_context ctx = ssl_context := SOME ctx + fun get_context () = valOf (!ssl_context) val nodes = map #1 Config.nodeIps Index: msgTypes.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/msgTypes.sml,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** msgTypes.sml 17 Feb 2009 16:30:22 -0000 1.35 --- msgTypes.sml 27 Sep 2009 19:07:34 -0000 1.36 *************** *** 127,130 **** --- 127,132 ---- | MsgReUsers (* Rerun all callbacks for cases where the set of users has changed *) + | MsgVmailChanged + (* Server tells slave that vmail user information has changed *) end Index: main.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/main.sml,v retrieving revision 1.110 retrieving revision 1.111 diff -C2 -d -r1.110 -r1.111 *** main.sml 19 Feb 2009 14:19:56 -0000 1.110 --- main.sml 27 Sep 2009 19:07:34 -0000 1.111 *************** *** 1702,1705 **** --- 1702,1709 ---- | MsgRegenerate => (Domain.resetLocal (); Msg.send (bio, MsgOk)) + | MsgVmailChanged => (if Vmail.doChanged () then + Msg.send (bio, MsgOk) + else + Msg.send (bio, MsgError "userdb update failed")) | _ => (print "Dispatcher sent unexpected command\n"; Msg.send (bio, MsgError "Unexpected command")) Index: msg.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/msg.sml,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** msg.sml 17 Feb 2009 16:30:22 -0000 1.36 --- msg.sml 27 Sep 2009 19:07:34 -0000 1.37 *************** *** 238,241 **** --- 238,242 ---- OpenSSL.writeString (bio, s)) | MsgReUsers => OpenSSL.writeInt (bio, 41) + | MsgVmailChanged => OpenSSL.writeInt (bio, 42) fun checkIt v = *************** *** 351,354 **** --- 352,356 ---- | 40 => Option.map MsgDescription (OpenSSL.readString bio) | 41 => SOME MsgReUsers + | 42 => SOME MsgVmailChanged | _ => NONE) Index: domain.sig =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/domain.sig,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** domain.sig 17 Feb 2009 16:30:22 -0000 1.24 --- domain.sig 27 Sep 2009 19:07:34 -0000 1.25 *************** *** 91,94 **** --- 91,95 ---- (* UNIX users, groups, and paths the user may act with *) + val get_context : unit -> OpenSSL.context val set_context : OpenSSL.context -> unit |
From: Adam C. <ad...@us...> - 2009-09-27 17:03:01
|
Update of /cvsroot/hcoop/domtool2/openssl/mlton In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv32321/openssl/mlton Modified Files: libssl-h.sml Log Message: Make dynamic linking smarter, so this stuff works before running 'make install' Index: libssl-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/openssl/mlton/libssl-h.sml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** libssl-h.sml 9 Dec 2006 18:11:13 -0000 1.2 --- libssl-h.sml 27 Sep 2009 17:02:49 -0000 1.3 *************** *** 1,6 **** structure LibsslH = struct local val lh = DynLinkage.open_lib ! { name = "/usr/local/lib/openssl_sml.so", global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in --- 1,9 ---- structure LibsslH = struct local + val global = "/usr/local/lib/openssl_sml.so" + val locl = "openssl/openssl_sml.so" + val lh = DynLinkage.open_lib ! { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in |
From: Adam C. <ad...@us...> - 2009-09-27 17:03:01
|
Update of /cvsroot/hcoop/domtool2/openssl/smlnj In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv32321/openssl/smlnj Modified Files: libssl-h.sml Log Message: Make dynamic linking smarter, so this stuff works before running 'make install' Index: libssl-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/openssl/smlnj/libssl-h.sml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** libssl-h.sml 9 Dec 2006 18:11:13 -0000 1.2 --- libssl-h.sml 27 Sep 2009 17:02:49 -0000 1.3 *************** *** 1,6 **** structure LibsslH = struct local val lh = DynLinkage.open_lib ! { name = "/usr/local/lib/openssl_sml.so", global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in --- 1,9 ---- structure LibsslH = struct local + val global = "/usr/local/lib/openssl_sml.so" + val locl = "openssl/openssl_sml.so" + val lh = DynLinkage.open_lib ! { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in |
From: Adam C. <ad...@us...> - 2009-09-27 17:03:01
|
Update of /cvsroot/hcoop/domtool2/pcre/smlnj In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv32321/pcre/smlnj Modified Files: libpcre-h.sml Log Message: Make dynamic linking smarter, so this stuff works before running 'make install' Index: libpcre-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/pcre/smlnj/libpcre-h.sml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** libpcre-h.sml 15 Dec 2007 16:42:49 -0000 1.1 --- libpcre-h.sml 27 Sep 2009 17:02:50 -0000 1.2 *************** *** 1,6 **** structure LibpcreH = struct local val lh = DynLinkage.open_lib ! { name = "/usr/local/lib/pcre_sml.so", global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in --- 1,9 ---- structure LibpcreH = struct local + val global = "/usr/local/lib/pcre_sml.so" + val locl = "openssl/pcre_sml.so" + val lh = DynLinkage.open_lib ! { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in |
From: Adam C. <ad...@us...> - 2009-09-27 17:02:58
|
Update of /cvsroot/hcoop/domtool2/pcre/mlton In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv32321/pcre/mlton Modified Files: libpcre-h.sml Log Message: Make dynamic linking smarter, so this stuff works before running 'make install' Index: libpcre-h.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/pcre/mlton/libpcre-h.sml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** libpcre-h.sml 15 Dec 2007 19:05:43 -0000 1.3 --- libpcre-h.sml 27 Sep 2009 17:02:49 -0000 1.4 *************** *** 1,6 **** structure LibpcreH = struct local val lh = DynLinkage.open_lib ! { name = "/usr/local/lib/pcre_sml.so", global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in --- 1,9 ---- structure LibpcreH = struct local + val global = "/usr/local/lib/pcre_sml.so" + val locl = "openssl/pcre_sml.so" + val lh = DynLinkage.open_lib ! { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in |
From: Adam C. <ad...@us...> - 2009-08-04 15:44:08
|
Update of /cvsroot/hcoop/portal In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv30531 Modified Files: poll.mlt poll.sml Log Message: Add delete links on poll pages Index: poll.mlt =================================================================== RCS file: /cvsroot/hcoop/portal/poll.mlt,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** poll.mlt 4 Aug 2009 15:33:54 -0000 1.11 --- poll.mlt 4 Aug 2009 15:44:00 -0000 1.12 *************** *** 143,155 **** elseif $"del" <> "" then - Group.requireGroupName "poll"; showNormal := false; ! val poll = Poll.lookupPoll (Web.stoi ($"del")) %> <h3>Are you sure you want to delete poll <a href="poll?id=<% #id poll %>"><% Web.html (#title poll) %></a>?</h3> <a href="poll?del2=<% $"del" %>">Yes, delete <% Web.html (#title poll) %>!</a> <% elseif $"del2" <> "" then - Group.requireGroupName "poll"; val poll = Poll.lookupPoll (Web.stoi ($"del2")); Poll.deletePoll (Web.stoi ($"del2")) %> <h3><% Web.html (#title poll) %> deleted!</h3> --- 143,155 ---- elseif $"del" <> "" then showNormal := false; ! val poll = Poll.lookupPoll (Web.stoi ($"del")); ! Poll.requireCanModify poll %> <h3>Are you sure you want to delete poll <a href="poll?id=<% #id poll %>"><% Web.html (#title poll) %></a>?</h3> <a href="poll?del2=<% $"del" %>">Yes, delete <% Web.html (#title poll) %>!</a> <% elseif $"del2" <> "" then val poll = Poll.lookupPoll (Web.stoi ($"del2")); + Poll.requireCanModify poll; Poll.deletePoll (Web.stoi ($"del2")) %> <h3><% Web.html (#title poll) %> deleted!</h3> *************** *** 321,324 **** --- 321,326 ---- <% if canModify then %> <br><hr><br> + <h3><a href="?del=<% id %>">Delete this poll</a></h3> + <h3>Add a new choice</h3> Index: poll.sml =================================================================== RCS file: /cvsroot/hcoop/portal/poll.sml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** poll.sml 4 Aug 2009 15:33:55 -0000 1.9 --- poll.sml 4 Aug 2009 15:44:00 -0000 1.10 *************** *** 178,184 **** fun canModify (poll : poll) = Group.inGroupName "poll" ! orelse (#usr poll = Init.getUserId() ! andalso (dateLtNow (#starts poll) ! orelse not (#ready poll))) fun requireCanModify poll = --- 178,184 ---- fun canModify (poll : poll) = Group.inGroupName "poll" ! orelse ((#usr poll = Init.getUserId() ! andalso (dateLtNow (#starts poll) ! orelse not (#ready poll)))) fun requireCanModify poll = |
From: Adam C. <ad...@us...> - 2009-08-04 15:34:09
|
Update of /cvsroot/hcoop/portal In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv27854 Modified Files: poll.mlt poll.sig poll.sml tables.sql Log Message: Initial support for poll 'ready' bits Index: poll.sig =================================================================== RCS file: /cvsroot/hcoop/portal/poll.sig,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** poll.sig 24 Feb 2008 17:41:23 -0000 1.4 --- poll.sig 4 Aug 2009 15:33:55 -0000 1.5 *************** *** 1,4 **** signature POLL = sig ! type poll = {id : int, usr : int, title : string, descr : string, starts : string, ends : string, votes : int, official : bool} val lookupPoll : int -> poll --- 1,4 ---- signature POLL = sig ! type poll = {id : int, usr : int, title : string, descr : string, starts : string, ends : string, votes : int, official : bool, ready : bool} val lookupPoll : int -> poll *************** *** 7,11 **** val listPollsLimit : int -> poll list ! val addPoll : int * string * string * string * string * int * bool -> int val modPoll : poll -> unit val deletePoll : int -> unit --- 7,11 ---- val listPollsLimit : int -> poll list ! val addPoll : int * string * string * string * string * int * bool * bool -> int val modPoll : poll -> unit val deletePoll : int -> unit Index: tables.sql =================================================================== RCS file: /cvsroot/hcoop/portal/tables.sql,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** tables.sql 9 Apr 2008 13:45:02 -0000 1.32 --- tables.sql 4 Aug 2009 15:33:55 -0000 1.33 *************** *** 106,109 **** --- 106,110 ---- votes INTEGER NOT NULL, official BOOL NOT NULL, + ready BOOL NOT NULL, FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE); Index: poll.mlt =================================================================== RCS file: /cvsroot/hcoop/portal/poll.mlt,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** poll.mlt 24 Feb 2008 17:41:22 -0000 1.10 --- poll.mlt 4 Aug 2009 15:33:54 -0000 1.11 *************** *** 88,92 **** %><h3>You must specify a positive number of votes per person.</h3><% else ! val id = Poll.addPoll (Init.getUserId(), title, $"descr", starts, ends, votes, official); editingPoll := SOME id; %><h3>Poll added!</h3><% --- 88,92 ---- %><h3>You must specify a positive number of votes per person.</h3><% else ! val id = Poll.addPoll (Init.getUserId(), title, $"descr", starts, ends, votes, official, false); editingPoll := SOME id; %><h3>Poll added!</h3><% *************** *** 104,107 **** --- 104,108 ---- <table class="blanks"> <tr> <td>Title:</td> <td><input name="title" value="<% Web.html (#title poll) %>"></td> </tr> + <tr> <td>Ready?</td> <td><input type="checkbox" name="ready" <% if #ready poll then " checked" else "" end %>></td> </tr> <tr> <td>Start date:</td> <td><input name="starts" value="<% Web.html (#starts poll) %>"></td> </tr> <tr> <td>End date:</td> <td><input name="ends" value="<% Web.html (#ends poll) %>"></td> </tr> *************** *** 123,127 **** val votes = Web.stoi ($"votes"); val official = $"official" = "on"; ! if title = "" then %><h3>Your poll must have a title.</h3><% elseif not pollAdmin and not (Poll.dateGeNow starts) then --- 124,131 ---- val votes = Web.stoi ($"votes"); val official = $"official" = "on"; ! val ready = $"ready" = "on"; ! if not (Poll.canModify poll) then ! %><h3>You can't modify this poll anymore, because voting is already open.</h3><% ! elseif title = "" then %><h3>Your poll must have a title.</h3><% elseif not pollAdmin and not (Poll.dateGeNow starts) then *************** *** 132,136 **** %><h3>You must specify a positive number of votes per person.</h3><% else ! Poll.modPoll {poll with title = title, descr = $"descr", starts = starts, ends = ends, votes = votes, official = official}; editingPoll := SOME (#id poll); %><h3>Poll record saved.</h3><% --- 136,141 ---- %><h3>You must specify a positive number of votes per person.</h3><% else ! Poll.modPoll {poll with title = title, descr = $"descr", starts = starts, ends = ends, votes = votes, official = official, ! ready = ready}; editingPoll := SOME (#id poll); %><h3>Poll record saved.</h3><% *************** *** 154,158 **** editingPoll := SOME id; val descr = $"descr"; ! if descr = "" then %><h3>Your poll choice must have a description.</h3><% else --- 159,166 ---- editingPoll := SOME id; val descr = $"descr"; ! val poll = Poll.lookupPoll id; ! if not (Poll.canModify poll) then ! %><h3>You can't modify this poll anymore, because voting is already open.</h3><% ! elseif descr = "" then %><h3>Your poll choice must have a description.</h3><% else Index: poll.sml =================================================================== RCS file: /cvsroot/hcoop/portal/poll.sml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** poll.sml 24 Feb 2008 17:41:23 -0000 1.8 --- poll.sml 4 Aug 2009 15:33:55 -0000 1.9 *************** *** 4,17 **** open Util Sql Init ! type poll = {id : int, usr : int, title : string, descr : string, starts : string, ends : string, votes : int, official : bool} ! fun mkPollRow [id, usr, title, descr, starts, ends, votes, official] = {id = C.intFromSql id, usr = C.intFromSql usr, title = C.stringFromSql title, descr = C.stringFromSql descr, starts = C.stringFromSql starts, ! ends = C.stringFromSql ends, votes = C.intFromSql votes, official = C.boolFromSql official} | mkPollRow row = Init.rowError ("poll", row) fun lookupPoll id = ! case C.oneOrNoRows (getDb ()) ($`SELECT id, usr, title, descr, starts, ends, votes, official FROM Poll WHERE id = ^(C.intToSql id)`) of --- 4,18 ---- open Util Sql Init ! type poll = {id : int, usr : int, title : string, descr : string, starts : string, ends : string, votes : int, official : bool, ready : bool} ! fun mkPollRow [id, usr, title, descr, starts, ends, votes, official, ready] = {id = C.intFromSql id, usr = C.intFromSql usr, title = C.stringFromSql title, descr = C.stringFromSql descr, starts = C.stringFromSql starts, ! ends = C.stringFromSql ends, votes = C.intFromSql votes, official = C.boolFromSql official, ! ready = C.boolFromSql ready} | mkPollRow row = Init.rowError ("poll", row) fun lookupPoll id = ! case C.oneOrNoRows (getDb ()) ($`SELECT id, usr, title, descr, starts, ends, votes, official, ready FROM Poll WHERE id = ^(C.intToSql id)`) of *************** *** 20,48 **** fun listPolls () = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official FROM Poll ORDER BY ends, starts DESC, title`) fun listCurrentPolls () = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official FROM Poll WHERE EXTRACT(EPOCH FROM starts) <= EXTRACT(EPOCH FROM CURRENT_DATE) AND EXTRACT(EPOCH FROM ends) >= EXTRACT(EPOCH FROM CURRENT_DATE) ORDER BY ends, starts DESC, title`) fun listPollsLimit lim = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official FROM Poll ORDER BY starts DESC, ends, title LIMIT ^(C.intToSql lim)`) ! fun addPoll (usr, title, descr, starts, ends, votes, official) = let val db = getDb () val id = nextSeq (db, "PollSeq") in ! C.dml db ($`INSERT INTO Poll (id, usr, title, descr, starts, ends, votes, official) VALUES (^(C.intToSql id), ^(C.intToSql usr), ^(C.stringToSql title), ^(C.stringToSql descr), ! ^(C.stringToSql starts), ^(C.stringToSql ends), ^(C.intToSql votes), ^(C.boolToSql official))`); id end --- 21,53 ---- fun listPolls () = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official, ready FROM Poll + WHERE ready ORDER BY ends, starts DESC, title`) fun listCurrentPolls () = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official, ready FROM Poll WHERE EXTRACT(EPOCH FROM starts) <= EXTRACT(EPOCH FROM CURRENT_DATE) AND EXTRACT(EPOCH FROM ends) >= EXTRACT(EPOCH FROM CURRENT_DATE) + AND (ready OR usr = ^(C.intToSql (Init.getUserId ()))) ORDER BY ends, starts DESC, title`) fun listPollsLimit lim = ! C.map (getDb ()) mkPollRow ($`SELECT id, usr, title, descr, starts, ends, votes, official, ready FROM Poll ORDER BY starts DESC, ends, title + WHERE (ready OR usr = ^(C.intToSql (Init.getUserId ()))) LIMIT ^(C.intToSql lim)`) ! fun addPoll (usr, title, descr, starts, ends, votes, official, ready) = let val db = getDb () val id = nextSeq (db, "PollSeq") in ! C.dml db ($`INSERT INTO Poll (id, usr, title, descr, starts, ends, votes, official, ready) VALUES (^(C.intToSql id), ^(C.intToSql usr), ^(C.stringToSql title), ^(C.stringToSql descr), ! ^(C.stringToSql starts), ^(C.stringToSql ends), ^(C.intToSql votes), ^(C.boolToSql official), ! ^(C.boolToSql ready))`); id end *************** *** 56,60 **** descr = ^(C.stringToSql (#descr poll)), starts = ^(C.stringToSql (#starts poll)), ends = ^(C.stringToSql (#ends poll)), ! votes = ^(C.intToSql (#votes poll)), official = ^(C.boolToSql (#official poll)) WHERE id = ^(C.intToSql (#id poll))`)) end --- 61,66 ---- descr = ^(C.stringToSql (#descr poll)), starts = ^(C.stringToSql (#starts poll)), ends = ^(C.stringToSql (#ends poll)), ! votes = ^(C.intToSql (#votes poll)), official = ^(C.boolToSql (#official poll)), ! ready = ^(C.boolToSql (#ready poll)) WHERE id = ^(C.intToSql (#id poll))`)) end *************** *** 173,177 **** Group.inGroupName "poll" orelse (#usr poll = Init.getUserId() ! andalso dateLtNow (#starts poll)) fun requireCanModify poll = --- 179,184 ---- Group.inGroupName "poll" orelse (#usr poll = Init.getUserId() ! andalso (dateLtNow (#starts poll) ! orelse not (#ready poll))) fun requireCanModify poll = *************** *** 189,193 **** fun takingVotes (poll : poll) = ! dateLeNow (#starts poll) andalso dateGeNow (#ends poll) fun noDupes l = --- 196,200 ---- fun takingVotes (poll : poll) = ! #ready poll andalso dateLeNow (#starts poll) andalso dateGeNow (#ends poll) fun noDupes l = |
From: Adam C. <ad...@us...> - 2009-07-26 17:05:36
|
Update of /cvsroot/hcoop/domtool2/elisp In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv21056 Modified Files: domtool-mode-startup.el Log Message: bpt's domtool-mode auto-mode suggestion Index: domtool-mode-startup.el =================================================================== RCS file: /cvsroot/hcoop/domtool2/elisp/domtool-mode-startup.el,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** domtool-mode-startup.el 16 Dec 2007 20:22:02 -0000 1.4 --- domtool-mode-startup.el 26 Jul 2009 17:05:26 -0000 1.5 *************** *** 1,6 **** ! (autoload (quote domtool-mode) "domtool-mode/domtool-mode" "\ Major Mode for editing Domtool files." t nil) ! (add-to-list (quote auto-mode-alist) (quote ("\\.\\(dtl\\|com\\|net\\|org\\|edu\\|mil\\|biz\\|info\\|name\\|be\\|ca\\|cc\\|de\\|fr\\|in\\|mu\\|se\\|uk\\|us\\|ws\\)$" . domtool-mode))) (provide 'domtool-mode-startup) --- 1,6 ---- ! (autoload 'domtool-mode "domtool-mode/domtool-mode" "\ Major Mode for editing Domtool files." t nil) ! (add-to-list 'auto-mode-alist '("\\(\\.dtl\\'\\|/\\.domtool/\\)" . domtool-mode)) (provide 'domtool-mode-startup) |
From: Adam C. <ad...@us...> - 2009-07-02 11:42:09
|
Update of /cvsroot/hcoop/portal In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv30713 Modified Files: payment.mlt Log Message: Update Checkout fee information Index: payment.mlt =================================================================== RCS file: /cvsroot/hcoop/portal/payment.mlt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** payment.mlt 17 Jun 2008 13:49:21 -0000 1.6 --- payment.mlt 2 Jul 2009 11:42:02 -0000 1.7 *************** *** 78,82 **** end %> ! <p>Remember that we credit member balances for Checkout payments <b>after subtracting <a href="https://checkout.google.com/seller/fees.html">Checkout's service fees</a></b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. The current fees are 2% plus 20 cents. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .2) / (1 - .02).</p> <p>Checkout has an "e-mail anonymizing" feature, where recipients of your payments will only see your e-mail address as some random string at checkout.google.com. If you use this feature, you must e-mail <a href="mailto:pa...@hc...">pa...@hc...</a> after every Checkout payment, letting us know which HCoop user the payment is meant for. <b>If you use Checkout's e-mail anonymizing and don't send us an e-mail with your payment, we may not credit you for the payment.</b></p> --- 78,82 ---- end %> ! <p>Remember that we credit member balances for Checkout payments <b>after subtracting <a href="https://checkout.google.com/seller/fees.html">Checkout's service fees</a></b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. The current fees are 2.9% plus 30 cents. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .3) / (1 - .029).</p> <p>Checkout has an "e-mail anonymizing" feature, where recipients of your payments will only see your e-mail address as some random string at checkout.google.com. If you use this feature, you must e-mail <a href="mailto:pa...@hc...">pa...@hc...</a> after every Checkout payment, letting us know which HCoop user the payment is meant for. <b>If you use Checkout's e-mail anonymizing and don't send us an e-mail with your payment, we may not credit you for the payment.</b></p> |
From: Adam C. <ad...@us...> - 2009-05-17 13:01:22
|
Update of /cvsroot/hcoop/domtool2/lib In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv15595/lib Modified Files: easy_domain.dtl Log Message: DefaultA parameter to dom Index: easy_domain.dtl =================================================================== RCS file: /cvsroot/hcoop/domtool2/lib/easy_domain.dtl,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** easy_domain.dtl 20 Jun 2008 18:34:35 -0000 1.31 --- easy_domain.dtl 17 May 2009 13:01:15 -0000 1.32 *************** *** 53,57 **** dns (dnsNS "ns2.hcoop.net"); ! dns (dnsA default (ip_of_node (web_node_to_node web_node))); hmail : bool <- HandleMail; --- 53,62 ---- dns (dnsNS "ns2.hcoop.net"); ! defa : bool <- DefaultA; ! if defa then ! dns (dnsA default (ip_of_node (web_node_to_node web_node))) ! else ! Skip ! end; hmail : bool <- HandleMail; |
From: Adam C. <ad...@us...> - 2009-05-17 13:01:22
|
Update of /cvsroot/hcoop/domtool2/src/plugins In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv15595/src/plugins Modified Files: easy_domain.sml Log Message: DefaultA parameter to dom Index: easy_domain.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/plugins/easy_domain.sml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** easy_domain.sml 24 Feb 2008 21:47:04 -0000 1.5 --- easy_domain.sml 17 May 2009 13:01:15 -0000 1.6 *************** *** 35,38 **** --- 35,42 ---- (fn () => (EVar "true", dl))) + val _ = Defaults.registerDefault ("DefaultA", + (TBase "bool", dl), + (fn () => (EVar "true", dl))) + val _ = Defaults.registerDefault ("DefaultAlias", (TBase "bool", dl), |