git subrepo commit (merge) mailcow/src/mailcow-dockerized

subrepo: subdir:   "mailcow/src/mailcow-dockerized"
  merged:   "02ae5285"
upstream: origin:   "https://github.com/mailcow/mailcow-dockerized.git"
  branch:   "master"
  commit:   "649a5c01"
git-subrepo: version:  "0.4.3"
  origin:   "???"
  commit:   "???"
Change-Id: I870ad468fba026cc5abf3c5699ed1e12ff28b32b
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php
new file mode 100644
index 0000000..cedeb6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Access;
+
+interface Authorizable
+{
+    /**
+     * Determine if the entity has a given ability.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function can($abilities, $arguments = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php
new file mode 100644
index 0000000..b88ab17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php
@@ -0,0 +1,150 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Access;
+
+interface Gate
+{
+    /**
+     * Determine if a given ability has been defined.
+     *
+     * @param  string  $ability
+     * @return bool
+     */
+    public function has($ability);
+
+    /**
+     * Define a new ability.
+     *
+     * @param  string  $ability
+     * @param  callable|string  $callback
+     * @return $this
+     */
+    public function define($ability, $callback);
+
+    /**
+     * Define abilities for a resource.
+     *
+     * @param  string  $name
+     * @param  string  $class
+     * @param  array|null  $abilities
+     * @return $this
+     */
+    public function resource($name, $class, array $abilities = null);
+
+    /**
+     * Define a policy class for a given class type.
+     *
+     * @param  string  $class
+     * @param  string  $policy
+     * @return $this
+     */
+    public function policy($class, $policy);
+
+    /**
+     * Register a callback to run before all Gate checks.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function before(callable $callback);
+
+    /**
+     * Register a callback to run after all Gate checks.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function after(callable $callback);
+
+    /**
+     * Determine if the given ability should be granted for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function allows($ability, $arguments = []);
+
+    /**
+     * Determine if the given ability should be denied for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function denies($ability, $arguments = []);
+
+    /**
+     * Determine if all of the given abilities should be granted for the current user.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function check($abilities, $arguments = []);
+
+    /**
+     * Determine if any one of the given abilities should be granted for the current user.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function any($abilities, $arguments = []);
+
+    /**
+     * Determine if the given ability should be granted for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return \Illuminate\Auth\Access\Response
+     *
+     * @throws \Illuminate\Auth\Access\AuthorizationException
+     */
+    public function authorize($ability, $arguments = []);
+
+    /**
+     * Inspect the user for the given ability.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return \Illuminate\Auth\Access\Response
+     */
+    public function inspect($ability, $arguments = []);
+
+    /**
+     * Get the raw result from the authorization callback.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return mixed
+     *
+     * @throws \Illuminate\Auth\Access\AuthorizationException
+     */
+    public function raw($ability, $arguments = []);
+
+    /**
+     * Get a policy instance for a given class.
+     *
+     * @param  object|string  $class
+     * @return mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function getPolicyFor($class);
+
+    /**
+     * Get a guard instance for the given user.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable|mixed  $user
+     * @return static
+     */
+    public function forUser($user);
+
+    /**
+     * Get all of the defined abilities.
+     *
+     * @return array
+     */
+    public function abilities();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php
new file mode 100644
index 0000000..ac4ed88
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Authenticatable
+{
+    /**
+     * Get the name of the unique identifier for the user.
+     *
+     * @return string
+     */
+    public function getAuthIdentifierName();
+
+    /**
+     * Get the unique identifier for the user.
+     *
+     * @return mixed
+     */
+    public function getAuthIdentifier();
+
+    /**
+     * Get the password for the user.
+     *
+     * @return string
+     */
+    public function getAuthPassword();
+
+    /**
+     * Get the token value for the "remember me" session.
+     *
+     * @return string
+     */
+    public function getRememberToken();
+
+    /**
+     * Set the token value for the "remember me" session.
+     *
+     * @param  string  $value
+     * @return void
+     */
+    public function setRememberToken($value);
+
+    /**
+     * Get the column name for the "remember me" token.
+     *
+     * @return string
+     */
+    public function getRememberTokenName();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php
new file mode 100644
index 0000000..3a67707
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface CanResetPassword
+{
+    /**
+     * Get the e-mail address where password reset links are sent.
+     *
+     * @return string
+     */
+    public function getEmailForPasswordReset();
+
+    /**
+     * Send the password reset notification.
+     *
+     * @param  string  $token
+     * @return void
+     */
+    public function sendPasswordResetNotification($token);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php
new file mode 100644
index 0000000..d76ee76
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Factory
+{
+    /**
+     * Get a guard instance by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard
+     */
+    public function guard($name = null);
+
+    /**
+     * Set the default guard the factory should serve.
+     *
+     * @param  string  $name
+     * @return void
+     */
+    public function shouldUse($name);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php
new file mode 100644
index 0000000..2a27fb5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Guard
+{
+    /**
+     * Determine if the current user is authenticated.
+     *
+     * @return bool
+     */
+    public function check();
+
+    /**
+     * Determine if the current user is a guest.
+     *
+     * @return bool
+     */
+    public function guest();
+
+    /**
+     * Get the currently authenticated user.
+     *
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function user();
+
+    /**
+     * Get the ID for the currently authenticated user.
+     *
+     * @return int|string|null
+     */
+    public function id();
+
+    /**
+     * Validate a user's credentials.
+     *
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function validate(array $credentials = []);
+
+    /**
+     * Set the current user.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @return void
+     */
+    public function setUser(Authenticatable $user);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php
new file mode 100644
index 0000000..b782761
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Middleware;
+
+interface AuthenticatesRequests
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php
new file mode 100644
index 0000000..5b8b105
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface MustVerifyEmail
+{
+    /**
+     * Determine if the user has verified their email address.
+     *
+     * @return bool
+     */
+    public function hasVerifiedEmail();
+
+    /**
+     * Mark the given user's email as verified.
+     *
+     * @return bool
+     */
+    public function markEmailAsVerified();
+
+    /**
+     * Send the email verification notification.
+     *
+     * @return void
+     */
+    public function sendEmailVerificationNotification();
+
+    /**
+     * Get the email address that should be used for verification.
+     *
+     * @return string
+     */
+    public function getEmailForVerification();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php
new file mode 100644
index 0000000..bbbe9b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+use Closure;
+
+interface PasswordBroker
+{
+    /**
+     * Constant representing a successfully sent reminder.
+     *
+     * @var string
+     */
+    const RESET_LINK_SENT = 'passwords.sent';
+
+    /**
+     * Constant representing a successfully reset password.
+     *
+     * @var string
+     */
+    const PASSWORD_RESET = 'passwords.reset';
+
+    /**
+     * Constant representing the user not found response.
+     *
+     * @var string
+     */
+    const INVALID_USER = 'passwords.user';
+
+    /**
+     * Constant representing an invalid token.
+     *
+     * @var string
+     */
+    const INVALID_TOKEN = 'passwords.token';
+
+    /**
+     * Constant representing a throttled reset attempt.
+     *
+     * @var string
+     */
+    const RESET_THROTTLED = 'passwords.throttled';
+
+    /**
+     * Send a password reset link to a user.
+     *
+     * @param  array  $credentials
+     * @param  \Closure|null  $callback
+     * @return string
+     */
+    public function sendResetLink(array $credentials, Closure $callback = null);
+
+    /**
+     * Reset the password for the given token.
+     *
+     * @param  array  $credentials
+     * @param  \Closure  $callback
+     * @return mixed
+     */
+    public function reset(array $credentials, Closure $callback);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php
new file mode 100644
index 0000000..47b1c08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface PasswordBrokerFactory
+{
+    /**
+     * Get a password broker instance by name.
+     *
+     * @param  string|null  $name
+     * @return mixed
+     */
+    public function broker($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php
new file mode 100644
index 0000000..faf1497
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface StatefulGuard extends Guard
+{
+    /**
+     * Attempt to authenticate a user using the given credentials.
+     *
+     * @param  array  $credentials
+     * @param  bool  $remember
+     * @return bool
+     */
+    public function attempt(array $credentials = [], $remember = false);
+
+    /**
+     * Log a user into the application without sessions or cookies.
+     *
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function once(array $credentials = []);
+
+    /**
+     * Log a user into the application.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  bool  $remember
+     * @return void
+     */
+    public function login(Authenticatable $user, $remember = false);
+
+    /**
+     * Log the given user ID into the application.
+     *
+     * @param  mixed  $id
+     * @param  bool  $remember
+     * @return \Illuminate\Contracts\Auth\Authenticatable|bool
+     */
+    public function loginUsingId($id, $remember = false);
+
+    /**
+     * Log the given user ID into the application without sessions or cookies.
+     *
+     * @param  mixed  $id
+     * @return \Illuminate\Contracts\Auth\Authenticatable|bool
+     */
+    public function onceUsingId($id);
+
+    /**
+     * Determine if the user was authenticated via "remember me" cookie.
+     *
+     * @return bool
+     */
+    public function viaRemember();
+
+    /**
+     * Log the user out of the application.
+     *
+     * @return void
+     */
+    public function logout();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php
new file mode 100644
index 0000000..9c54591
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface SupportsBasicAuth
+{
+    /**
+     * Attempt to authenticate using HTTP Basic Auth.
+     *
+     * @param  string  $field
+     * @param  array  $extraConditions
+     * @return \Symfony\Component\HttpFoundation\Response|null
+     */
+    public function basic($field = 'email', $extraConditions = []);
+
+    /**
+     * Perform a stateless HTTP Basic login attempt.
+     *
+     * @param  string  $field
+     * @param  array  $extraConditions
+     * @return \Symfony\Component\HttpFoundation\Response|null
+     */
+    public function onceBasic($field = 'email', $extraConditions = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php
new file mode 100644
index 0000000..a2ab122
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface UserProvider
+{
+    /**
+     * Retrieve a user by their unique identifier.
+     *
+     * @param  mixed  $identifier
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveById($identifier);
+
+    /**
+     * Retrieve a user by their unique identifier and "remember me" token.
+     *
+     * @param  mixed  $identifier
+     * @param  string  $token
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveByToken($identifier, $token);
+
+    /**
+     * Update the "remember me" token for the given user in storage.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  string  $token
+     * @return void
+     */
+    public function updateRememberToken(Authenticatable $user, $token);
+
+    /**
+     * Retrieve a user by the given credentials.
+     *
+     * @param  array  $credentials
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveByCredentials(array $credentials);
+
+    /**
+     * Validate a user against the given credentials.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function validateCredentials(Authenticatable $user, array $credentials);
+}