00001 /* 00002 * $Id$ 00003 * 00004 * Digest Authentication - Database support 00005 * 00006 * Copyright (C) 2001-2003 FhG Fokus 00007 * 00008 * This file is part of ser, a free SIP server. 00009 * 00010 * ser is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version 00014 * 00015 * For a license to use the ser software under conditions 00016 * other than those described here, or to purchase support for this 00017 * software, please contact iptel.org by e-mail at the following addresses: 00018 * info@iptel.org 00019 * 00020 * ser is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU General Public License 00026 * along with this program; if not, write to the Free Software 00027 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00028 */ 00029 00030 00031 #ifndef AUTHDB_MOD_H 00032 #define AUTHDB_MOD_H 00033 00034 #include "../../str.h" 00035 #include "../../lib/srdb2/db.h" 00036 #include "../../modules/auth/api.h" 00037 #include "../../parser/msg_parser.h" 00038 00039 00040 /* 00041 * Module parameters variables 00042 */ 00043 extern str username_column; /* 'username' column name */ 00044 extern str did_column; /* 'did' column name */ 00045 extern str realm_column; /* 'realm' column name */ 00046 extern str pass_column; /* 'password' column name */ 00047 extern str pass_column_2; /* Column containing HA1 string constructed 00048 * of user@domain username 00049 */ 00050 extern str flags_column; /* Flags column in credentials table */ 00051 00052 extern int calc_ha1; /* if set to 1, ha1 is calculated by the server */ 00053 extern int use_did; /* Whether query should also use did in query */ 00054 extern int check_all; /* if set to 1, multiple db entries are checked */ 00055 00056 extern db_ctx_t* auth_db_handle; /* database connection handle */ 00057 00058 extern auth_api_s_t auth_api; 00059 00060 extern str* credentials; 00061 extern int credentials_n; 00062 00063 00064 /* structure holding information for a table (holds 00065 * only pregenerated DB queries now) */ 00066 typedef struct _authdb_table_info_t { 00067 str table; /* s is zero terminated */ 00068 db_cmd_t *query_pass; /* queries HA1 */ 00069 db_cmd_t *query_pass2; /* queries HA1B */ 00070 db_cmd_t *query_password; /* queries plain password */ 00071 00072 struct _authdb_table_info_t *next; 00073 char buf[1]; /* used to hold 'table' data */ 00074 } authdb_table_info_t; 00075 00076 #endif /* AUTHDB_MOD_H */
1.7.1