module ActiveLdap::UserPassword
def extract_salt_for_crypt(crypted_password)
def extract_salt_for_crypt(crypted_password) if /\A\$(?:1|5|6|2a)\$[a-zA-Z0-9.\/]{,16}\$/ =~ crypted_password $MATCH else salt = crypted_password[0, 2] if salt.size != 2 raise ArgumentError, _("salt size must be 2: <%s>") % salt end unless /\A[a-zA-Z0-9.\/]{2}\z/ =~ salt message = _("salt character must be [a-zA-Z0-9./]: <%s>") % salt raise ArgumentError, message end salt end end