# Redirect http://*** to https://***
RewriteEngine On

# If using SSL, require a certificate
SSLOptions +OptRenegotiate +StdEnvVars

#Don't require SSL. We will automatically redirect to SSL (requiring SSL makes the redirect fail)
SSLVerifyClient optional
SSLVerifyDepth 3
SSLRequire (%{SSL_CLIENT_S_DN_O} == "Massachusetts Institute of Technology" \
    && %{SSL_CLIENT_S_DN_Email} in {"braswell@MIT.EDU", "seansoni@MIT.EDU", "ldecastr@MIT.EDU", "vmohan@MIT.EDU", "adamc@MIT.EDU", "ameyer@MIT.EDU", "anniej@MIT.EDU", "bce@MIT.EDU", "mnjy@MIT.EDU", "tashas@MIT.EDU", "emshen@MIT.EDU", "ink@MIT.EDU", "hyun94@MIT.EDU", "svente@MIT.EDU", "jasmeet@MIT.EDU", "robibhat@MIT.EDU", "tomascg@MIT.EDU", "mxruedag@MIT.EDU", "juliaguo@MIT.EDU", "joyceh@MIT.EDU", "ekl@MIT.EDU", "splitluk@MIT.EDU", "prekshan@MIT.EDU", "devneal@MIT.EDU", "neub@MIT.EDU", "dppillai@MIT.EDU", "madksev@MIT.EDU", "mstoica@MIT.EDU", "sorawit@MIT.EDU", "suhasv@MIT.EDU", "shidanxu@MIT.EDU", "wgxue@MIT.EDU", "epwalker@MIT.EDU", "wallace_@MIT.EDU", "luyizh@MIT.EDU", "mcover@MIT.EDU", "zoki@mit.edu"}) \
  || (%{SSL_CLIENT_S_DN_O} == "MIT Computer Science & Artificial Intelligence Laboratory" \
    && %{SSL_CLIENT_S_DN_Email} in {"ryadegar@CSAIL.MIT.EDU", "adamc@CSAIL.MIT.EDU", "meyer@CSAIL.MIT.EDU", "ftl@CSAIL.MIT.EDU", "dmjones@CSAIL.MIT.EDU", "ronitt@CSAIL.MIT.EDU", "karger@CSAIL.MIT.EDU", "lynch@CSAIL.MIT.EDU", "meyer@CSAIL.MIT.EDU", "cel@CSAIL.MIT.EDU", "moitra@CSAIL.MIT.EDU", "marten@CSAIL.MIT.EDU", "adamc@CSAIL.MIT.EDU", "chinmay@CSAIL.MIT.EDU", "brooke@CSAIL.MIT.EDU", "cyrbritt@CSAIL.MIT.EDU", "devadas@CSAIL.MIT.EDU", "dmjones@CSAIL.MIT.EDU", "zoki@csail.mit.edu"})


# Otherwise, ask for a password
AuthName "special directory"
AuthType Basic
AuthUserFile /afs/csail.mit.edu/proj/courses/6.042/www/data/.htpasswd-6042-colleague
require valid-user


RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

