auth_mod.h

00001 /*
00002  * $Id$
00003  *
00004  * Digest Authentication Module
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  * History:
00030  * --------
00031  * 2003-04-28 rpid contributed by Juha Heinanen added (janakj)
00032  * 2007-10-19 auth extra checks: longer nonces that include selected message
00033  *            parts to protect against various reply attacks without keeping
00034  *            state (andrei)
00035  */
00036 
00037 #ifndef AUTH_MOD_H
00038 #define AUTH_MOD_H
00039 
00040 #include "../../str.h"
00041 #include "../../modules/sl/sl.h"
00042 #include "../../parser/msg_parser.h"    /* struct sip_msg */
00043 #include "../../parser/digest/digest.h"
00044 #include "nonce.h" /* auth_extra_checks & AUTH_CHECK flags */
00045 
00046 /*
00047  * Module parameters variables
00048  */
00049 extern str secret1;            /* secret phrase used to generate nonce */
00050 extern str secret2;            /* secret phrase used to generate nonce */
00051 extern int nonce_expire;      /* nonce expire interval */
00052 extern int protect_contacts;  /* Enable/disable contact hashing in nonce */
00053 extern sl_api_t sl;
00054 extern avp_ident_t challenge_avpid;
00055 extern str proxy_challenge_header;
00056 extern str www_challenge_header;
00057 extern struct qp auth_qop;
00058 
00059 #endif /* AUTH_MOD_H */