Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/XRDP/sesman/libsesman/   (X11 Server Version 0.10.6.1©)  Datei vom 7.6.2026 mit Größe 3 kB image not shown  

Quelle  sesman_auth.h

  Sprache: C
 

/**
 * xrdp: A Remote Desktop Protocol server.
 *
 * Copyright (C) Jay Sorg 2004-2012
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


/**
 *
 * @file sesman_auth.h
 * @brief User authentication definitions
 * @author Jay Sorg
 *
 */


#ifndef SESMAN_AUTH_H
#define SESMAN_AUTH_H

/**
 * Opaque type used to represent an authentication handle
 */

struct auth_info;
#include "scp_application_types.h"

/**
 *
 * @brief Validates user's password
 * @param user user's login name
 * @param pass user's password
 * @param client_ip IP address of connecting client (or ""/NULL if not known)
 * @param[out] Error code for the operation. E_SCP_LOGIN_OK on success.
 * @return auth handle on success, NULL on failure
 *
 */

struct auth_info *
auth_userpass(const char *user, const char *pass,
              const char *client_ip, enum scp_login_status *errorcode);

/**
 *
 * @brief Gets an auth handle for a UDS login
 *
 * @param uid User ID
 * @param[out] Error code for the operation. E_SCP_LOGIN_OK on success.
 *             Can be NULL if this information isn't required.
 * @return auth handle on success, NULL on failure
 *
 */

struct auth_info *
auth_uds(const char *user, enum scp_login_status *errorcode);

/**
 *
 * @brief Starts a session
 * @param auth_info. Auth handle created by auth_userpass
 * @param display_num Display number
 * @return 0 on success, 1 on failure
 *
 * The resources allocated when the session is started are de-allocated
 * by auth_end() - there is no separate way to do this.
 */

int
auth_start_session(struct auth_info *auth_info, int display_num);

/**
 *
 * @brief Deallocates an auth handle and releases all resources
 * @param auth_info. Auth handle created by auth_userpass
 * @return 0 on success, 1 on failure
 *
 */

int
auth_end(struct auth_info *auth_info);

/**
 *
 * @brief Sets up the environment for a session started
 *        with auth_start_session()
 *
 * This call is only effective for PAM-based environments. It must be made
 * after the context has been switched to the logged-in user.
 *
 * @param auth_info. Auth handle created by auth_userpass
 * @return 0 on success, 1 on failure
 *
 */

int
auth_set_env(struct auth_info *auth_info);


#define AUTH_PWD_CHG_OK                0
#define AUTH_PWD_CHG_CHANGE            1
#define AUTH_PWD_CHG_CHANGE_MANDATORY  2
#define AUTH_PWD_CHG_NOT_NOW           3
#define AUTH_PWD_CHG_ERROR             4

/**
 *
 * @brief WIP - Checks to see if the password for a user needs changing
 *
 * @param user - Username to check
 * @return 0 on success, 1 on failure
 *
 */

int
auth_check_pwd_chg(const char *user);

/**
 *
 * @brief WIP - Changes the password for a user
 *
 * @param user Username to check
 * @param newpwd New password for user
 * @return 0 on success, 1 on failure
 *
 */

int
auth_change_pwd(const char *user, const char *newpwd);

#endif

Messung V0.5 in Prozent
C=93 H=99 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-07-10) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.