X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fauth.php;h=53b96d9f717e27ee90ef326bc99bb62dfe9fa452;hp=7dd58a7a14a636405097bdb2564d8dd452b64c39;hb=0331a925bde1c018c0c5e5bbee465c93cbeb1569;hpb=2d367c687f9813a45a3d2f1911036cfc0425fdd0 diff --git a/functions/auth.php b/functions/auth.php index 7dd58a7a..53b96d9f 100644 --- a/functions/auth.php +++ b/functions/auth.php @@ -1,28 +1,292 @@ 64) { + $key = pack("H*",md5($key)); + } + $k_ipad = $key ^ str_repeat(chr(0x36), 64) ; + $k_opad = $key ^ str_repeat(chr(0x5c), 64) ; + /* Heh, let's get recursive. */ + $hmac=hmac_md5($k_opad . pack("H*",md5($k_ipad . $data)) ); + return $hmac; +} - set_up_language($squirrelmail_language, true); +/** + * Fillin user and password based on SMTP auth settings. + * + * @param string $user Reference to SMTP username + * @param string $pass Reference to SMTP password (unencrypted) + * @since 1.4.11 + */ +function get_smtp_user(&$user, &$pass) { + global $username, $smtp_auth_mech, + $smtp_sitewide_user, $smtp_sitewide_pass; - echo "\n" . - '

echo "
'. - _("You must be logged in to access this page.").'
'. - ""._("Go to the login page")."\n". - "
\n"; - exit; + if ($smtp_auth_mech == 'none') { + $user = ''; + $pass = ''; + } elseif ( isset($smtp_sitewide_user) && isset($smtp_sitewide_pass) && + !empty($smtp_sitewide_user)) { + $user = $smtp_sitewide_user; + $pass = $smtp_sitewide_pass; + } else { + $user = $username; + $pass = sqauth_read_password(); } -?> + // plugin authors note: override $user or $pass by + // directly changing the arguments array contents + // in your plugin e.g., $args[0] = 'new_username'; + // + $temp = array(&$user, &$pass); + do_hook('smtp_auth', $temp); +}