00001 /* 00002 * $Id: security.h 336 2007-06-21 23:07:09Z flp $ 00003 * 00004 * Copyright (C) 2004-2006 FhG Fokus 00005 * 00006 * This file is part of Open IMS Core - an open source IMS CSCFs & HSS 00007 * implementation 00008 * 00009 * Open IMS Core is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * For a license to use the Open IMS Core software under conditions 00015 * other than those described here, or to purchase support for this 00016 * software, please contact Fraunhofer FOKUS by e-mail at the following 00017 * addresses: 00018 * info@open-ims.org 00019 * 00020 * Open IMS Core 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 * It has to be noted that this Open Source IMS Core System is not 00026 * intended to become or act as a product in a commercial context! Its 00027 * sole purpose is to provide an IMS core reference implementation for 00028 * IMS technology testing and IMS application prototyping for research 00029 * purposes, typically performed in IMS test-beds. 00030 * 00031 * Users of the Open Source IMS Core System have to be aware that IMS 00032 * technology may be subject of patents and licence terms, as being 00033 * specified within the various IMS-related IETF, ITU-T, ETSI, and 3GPP 00034 * standards. Thus all Open IMS Core users have to take notice of this 00035 * fact and have to agree to check out carefully before installing, 00036 * using and extending the Open Source IMS Core System, if related 00037 * patents and licences may become applicable to the intended usage 00038 * context. 00039 * 00040 * You should have received a copy of the GNU General Public License 00041 * along with this program; if not, write to the Free Software 00042 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00043 * 00044 */ 00045 00055 #ifndef P_CSCF_SECURITY_H 00056 #define P_CSCF_SECURITY_H 00057 00058 #include "../../sr_module.h" 00059 #include "../tm/tm_load.h" 00060 00061 #include "registration.h" 00062 #include "registrar_storage.h" 00063 00064 int P_verify_security(struct sip_msg *req,char *str1, char *str2); 00065 int P_security_401(struct sip_msg *rpl,char *str1, char *str2); 00066 00067 int P_security_200(struct sip_msg *rpl,char *str1, char *str2); 00068 00069 void P_security_drop(r_contact *c,r_security *s); 00070 00071 00072 int P_check_via_sent_by(struct sip_msg *msg,char *str1, char *str2); 00073 int P_add_via_received(struct sip_msg *msg,char *str1, char *str2); 00074 00075 int P_follows_via_list(struct sip_msg *rpl,char *str1, char *str2); 00076 int P_enforce_via_list(struct sip_msg *rpl,char *str1, char *str2); 00077 int P_remove_header_tag(struct sip_msg *msg,char *str1, char *str2); 00078 00079 int P_remove_security_client(struct sip_msg *msg,char *str1,char*str2); 00080 int P_remove_security_verify(struct sip_msg *msg,char *str1,char*str2); 00081 int P_remove_security_headers(struct sip_msg *msg,char *str1,char*str2); 00082 00083 #endif /* P_CSCF_SECURITY_H */
1.5.2