Freeciv-3.3: /fast/freeciv/nightly/main/server/auth.c File Reference

Freeciv-3.3

Loading...
Searching...
No Matches
Macros | Functions | Variables
auth.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "fcintl.h"`
`#include "log.h"`
`#include "md5.h"`
`#include "registry.h"`
`#include "shared.h"`
`#include "support.h"`
`#include "connection.h"`
`#include "packets.h"`
`#include "luascript_types.h"`
`#include "connecthand.h"`
`#include "fcdb.h"`
`#include "notify.h"`
`#include "sernet.h"`
`#include "srv_main.h"`
`#include "script_fcdb.h"`
`#include "auth.h"`

Go to the source code of this file.

## Macros

#define | GUEST_NAME "guest"
#define | MIN_PASSWORD_LEN 6 /* minimum length of password */
#define | MIN_PASSWORD_CAPS 0 /* minimum number of capital letters required */
#define | MIN_PASSWORD_NUMS 0 /* minimum number of numbers required */
#define | MAX_AUTH_TRIES 3
#define | MAX_WAIT_TIME 300 /* max time we'll wait on a password */

## Functions

static bool | is_guest_name (const char *name)
static void | get_unique_guest_name (char *name)
static bool | is_good_password (const char *password, char *msg)
bool | auth_user (struct connection *pconn, char *username)
bool | auth_handle_reply (struct connection *pconn, char *password)
void | auth_process_status (struct connection *pconn)
const char * | auth_get_username (struct connection *pconn)
const char * | auth_get_ipaddr (struct connection *pconn)

## Variables

static const int | auth_fail_wait [] = { 1, 1, 2, 3 }

## Macro Definition Documentation

## ◆ GUEST_NAME

#define GUEST_NAME "guest"

Definition at line 49 of file auth.c.

## ◆ MAX_AUTH_TRIES

#define MAX_AUTH_TRIES 3

Definition at line 55 of file auth.c.

## ◆ MAX_WAIT_TIME

#define MAX_WAIT_TIME 300 /* max time we'll wait on a password */

Definition at line 56 of file auth.c.

## ◆ MIN_PASSWORD_CAPS

#define MIN_PASSWORD_CAPS 0 /* minimum number of capital letters required */

Definition at line 52 of file auth.c.

## ◆ MIN_PASSWORD_LEN

#define MIN_PASSWORD_LEN 6 /* minimum length of password */

Definition at line 51 of file auth.c.

## ◆ MIN_PASSWORD_NUMS

#define MIN_PASSWORD_NUMS 0 /* minimum number of numbers required */

Definition at line 53 of file auth.c.

## Function Documentation

## ◆ auth_get_ipaddr()

const char * auth_get_ipaddr | ( | struct connection * | pconn | ) |

Get connection ip address

Definition at line 358 of file auth.c.

Referenced by api_auth_get_ipaddr().

## ◆ auth_get_username()

const char * auth_get_username | ( | struct connection * | pconn | ) |

Get username for connection

Definition at line 348 of file auth.c.

Referenced by api_auth_get_username().

## ◆ auth_handle_reply()

bool auth_handle_reply | ( | struct connection * | pconn,
|  | char * | password
| ) |  |

Receives a password from a client and verifies it.

Definition at line 156 of file auth.c.

Referenced by server_packet_input().

## ◆ auth_process_status()

void auth_process_status | ( | struct connection * | pconn | ) |

Checks on where in the authentication process we are.

Definition at line 207 of file auth.c.

Referenced by server_sniff_all_input().

## ◆ auth_user()

bool auth_user | ( | struct connection * | pconn,
|  | char * | username
| ) |  |

Handle authentication of a user; called by handle_login_request() if authentication is enabled.

If the connection is rejected right away, return FALSE, otherwise this function will return TRUE.

Definition at line 73 of file auth.c.

Referenced by handle_login_request().

## ◆ get_unique_guest_name()

static void get_unique_guest_name | ( | char * | name | ) |

static

Return a unique guest name WARNING: do not pass pconn->username to this function: it won't return!

Definition at line 266 of file auth.c.

Referenced by auth_user().

## ◆ is_good_password()

static bool is_good_password | ( | const char * | password,
|  | char * | msg
| ) |  |

static

Verifies that a password is valid. Does some [very] rudimentary safety checks. TODO: do we want to frown on non-printing characters? Fill the msg (length MAX_LEN_MSG) with any worthwhile information that the client ought to know.

Definition at line 301 of file auth.c.

Referenced by auth_handle_reply().

## ◆ is_guest_name()

static bool is_guest_name | ( | const char * | name | ) |

static

See if the name qualifies as a guest login name

Definition at line 257 of file auth.c.

Referenced by auth_user(), and get_unique_guest_name().

## Variable Documentation

## ◆ auth_fail_wait

const int auth_fail_wait[] = { 1, 1, 2, 3 }

static

Definition at line 60 of file auth.c.

Referenced by auth_handle_reply().