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; } /** * Fillin user and password based on SMTP auth settings. * * @param string $user Reference to SMTP username * @param string $pass Reference to SMTP password (unencrypted) */ function get_smtp_user(&$user, &$pass) { global $username, $smtp_auth_mech, $smtp_sitewide_user, $smtp_sitewide_pass; if ($smtp_auth_mech == 'none') { $user = ''; $pass = ''; } elseif ( isset($smtp_sitewide_user) && isset($smtp_sitewide_pass) ) { $user = $smtp_sitewide_user; $pass = $smtp_sitewide_pass; } else { global $key, $onetimepad; $user = $username; $pass = OneTimePadDecrypt($key, $onetimepad); } } ?>