Changeset 1027:0117a7746b21 in freeDiameter
- Timestamp:
- Apr 15, 2013, 4:17:07 PM (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 43 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/acl_wl/aw_tree.c
r974 r1027 129 129 char * s = NULL; 130 130 131 TRACE_ENTRY("%p % d %x", str, len, flags);131 TRACE_ENTRY("%p %zd %x", str, len, flags); 132 132 133 133 if (str) { -
extensions/app_diameap/diameap_eap.c
r610 r1027 57 57 58 58 static void diameap_ba_policyupdate(struct eap_state_machine * eap_sm, 59 struct eap_packet eapPacket)59 struct eap_packet *eapPacket) 60 60 { 61 61 TRACE_ENTRY("%p %p",eap_sm, eapPacket); … … 66 66 u32 vendor; 67 67 eap_type type; 68 u8 *data = (u8 *) eapPacket .data;68 u8 *data = (u8 *) eapPacket->data; 69 69 data += 5; 70 70 id = 5; 71 while (id < eapPacket .length)71 while (id < eapPacket->length) 72 72 { 73 73 vendor = VENDOR_IETF; … … 243 243 static boolean diameap_ba_policydopickup(eap_type type) 244 244 { 245 TRACE_ENTRY("% p",type);245 TRACE_ENTRY("%d",type); 246 246 if (type == TYPE_IDENTITY) 247 247 { … … 331 331 TRACE_DEBUG(FULL+1,"%s[EAP Protocol] New EAP Response received",DIAMEAP_EXTENSION) 332 332 ; 333 diameap_eap_dump(FULL + 1, eap_i->aaaEapRespData);333 diameap_eap_dump(FULL + 1, &eap_i->aaaEapRespData); 334 334 if ((eap_sm->rxResp == TRUE) && (eap_sm->respId 335 335 == eap_sm->currentId) && ((eap_sm->respMethod … … 365 365 TRACE_DEBUG(FULL+1,"%s[EAP Protocol] New EAP packet request created.",DIAMEAP_EXTENSION) 366 366 ; 367 diameap_eap_dump(FULL, eap_i->aaaEapReqData);367 diameap_eap_dump(FULL, &eap_i->aaaEapReqData); 368 368 eap_i->aaaEapResp = FALSE; 369 369 eap_i->aaaEapReq = TRUE; … … 516 516 } 517 517 } 518 diameap_ba_policyupdate(eap_sm, eap_i->aaaEapRespData);518 diameap_ba_policyupdate(eap_sm, &eap_i->aaaEapRespData); 519 519 eap_sm->eap_state = EAP_SELECT_ACTION; 520 520 break; -
extensions/app_diameap/diameap_eappacket.c
r974 r1027 39 39 #include "libdiameap.h" 40 40 41 int diameap_eap_get_code(struct eap_packet eappacket, eap_code * eapcode)41 int diameap_eap_get_code(struct eap_packet *eappacket, eap_code * eapcode) 42 42 { 43 43 TRACE_ENTRY("%p %p",eappacket,eapcode); 44 44 45 if (eappacket .data == NULL)45 if (eappacket->data == NULL) 46 46 { 47 47 *eapcode = ERROR; … … 49 49 return EINVAL; 50 50 } 51 if (eappacket .length < 1)51 if (eappacket->length < 1) 52 52 { 53 53 *eapcode = ERROR; 54 TRACE_DEBUG(INFO,"%sEAP packet length %d : no EAP Code to return.",DIAMEAP_EXTENSION, eappacket .length);55 return EINVAL; 56 } 57 *eapcode = G8(eappacket .data);58 return 0; 59 } 60 61 int diameap_eap_get_identifier(struct eap_packet eappacket, u8 * identifier)54 TRACE_DEBUG(INFO,"%sEAP packet length %d : no EAP Code to return.",DIAMEAP_EXTENSION, eappacket->length); 55 return EINVAL; 56 } 57 *eapcode = G8(eappacket->data); 58 return 0; 59 } 60 61 int diameap_eap_get_identifier(struct eap_packet *eappacket, u8 * identifier) 62 62 { 63 63 TRACE_ENTRY("%p %p",eappacket,identifier); 64 64 *identifier = 0; 65 if (eappacket .data == NULL)65 if (eappacket->data == NULL) 66 66 { 67 67 TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Identifier field to return.",DIAMEAP_EXTENSION); 68 68 return EINVAL; 69 69 } 70 if (eappacket .length < 2)71 { 72 TRACE_DEBUG(INFO,"%sEAP packet length %d : no Identifier field to return.",DIAMEAP_EXTENSION, eappacket .length);73 return EINVAL; 74 } 75 *identifier = G8(eappacket .data + 1);76 return 0; 77 } 78 79 int diameap_eap_get_length(struct eap_packet eappacket, u16 *length)70 if (eappacket->length < 2) 71 { 72 TRACE_DEBUG(INFO,"%sEAP packet length %d : no Identifier field to return.",DIAMEAP_EXTENSION, eappacket->length); 73 return EINVAL; 74 } 75 *identifier = G8(eappacket->data + 1); 76 return 0; 77 } 78 79 int diameap_eap_get_length(struct eap_packet *eappacket, u16 *length) 80 80 { 81 81 TRACE_ENTRY("%p %p",eappacket,length); 82 82 *length = 0; 83 83 84 if (eappacket .data == NULL)84 if (eappacket->data == NULL) 85 85 { 86 86 TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Length field to return.",DIAMEAP_EXTENSION); 87 87 return EINVAL; 88 88 } 89 if (eappacket .ulength < 4)90 { 91 TRACE_DEBUG(INFO,"%sEAP packet length %d : no Length field to return.",DIAMEAP_EXTENSION, eappacket .length);92 return EINVAL; 93 } 94 *length = (u16) G16BIGE((eappacket .data + 2));95 return 0; 96 } 97 98 int diameap_eap_get_packetlength(struct eap_packet eappacket, u16 *length)89 if (eappacket->ulength < 4) 90 { 91 TRACE_DEBUG(INFO,"%sEAP packet length %d : no Length field to return.",DIAMEAP_EXTENSION, eappacket->length); 92 return EINVAL; 93 } 94 *length = (u16) G16BIGE((eappacket->data + 2)); 95 return 0; 96 } 97 98 int diameap_eap_get_packetlength(struct eap_packet *eappacket, u16 *length) 99 99 { 100 100 TRACE_ENTRY("%p %p",eappacket,length); 101 if (eappacket .data == NULL)101 if (eappacket->data == NULL) 102 102 { 103 103 TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Length field to return.",DIAMEAP_EXTENSION); 104 104 return EINVAL; 105 105 } 106 *length = eappacket .ulength;107 return 0; 108 } 109 110 int diameap_eap_get_type(struct eap_packet eappacket, eap_type * eaptype)106 *length = eappacket->ulength; 107 return 0; 108 } 109 110 int diameap_eap_get_type(struct eap_packet *eappacket, eap_type * eaptype) 111 111 { 112 112 TRACE_ENTRY("%p %p",eappacket,eaptype); 113 113 *eaptype = 0; 114 114 115 if (eappacket .data == NULL)115 if (eappacket->data == NULL) 116 116 { 117 117 TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no EAP Type field to return.",DIAMEAP_EXTENSION); 118 118 return EINVAL; 119 119 } 120 if (eappacket .length < 5)121 { 122 TRACE_DEBUG(INFO,"%sEAP packet length %d : no EAP Type field to return.",DIAMEAP_EXTENSION, eappacket .length);123 return EINVAL; 124 } 125 *eaptype = (u32) G8(eappacket .data + 4);120 if (eappacket->length < 5) 121 { 122 TRACE_DEBUG(INFO,"%sEAP packet length %d : no EAP Type field to return.",DIAMEAP_EXTENSION, eappacket->length); 123 return EINVAL; 124 } 125 *eaptype = (u32) G8(eappacket->data + 4); 126 126 return 0; 127 127 } … … 129 129 boolean diameap_eap_check_code(eap_code code) 130 130 { 131 TRACE_ENTRY("% p",code);131 TRACE_ENTRY("%d",code); 132 132 if (code != EAP_REQUEST && code != EAP_RESPONSE && code != EAP_SUCCESS 133 133 && code != EAP_FAILURE) … … 139 139 } 140 140 141 int diameap_eap_get_packetdata(struct eap_packet eappacket, u8 ** data,141 int diameap_eap_get_packetdata(struct eap_packet *eappacket, u8 ** data, 142 142 int *len) 143 143 { 144 144 TRACE_ENTRY("%p %p",eappacket,data); 145 if (eappacket .length > 0)146 { 147 *data = malloc(sizeof(u8) * eappacket .length);148 U8COPY(*data,0,eappacket .length,eappacket.data);149 *len = eappacket .length;145 if (eappacket->length > 0) 146 { 147 *data = malloc(sizeof(u8) * eappacket->length); 148 U8COPY(*data,0,eappacket->length,eappacket->data); 149 *len = eappacket->length; 150 150 return 0; 151 151 } 152 TRACE_DEBUG(INFO,"%sEAP packet length=%d: empty or wrong EAP Packet.",DIAMEAP_EXTENSION, eappacket .length);152 TRACE_DEBUG(INFO,"%sEAP packet length=%d: empty or wrong EAP Packet.",DIAMEAP_EXTENSION, eappacket->length); 153 153 *data = NULL; 154 154 *len = 0; … … 156 156 } 157 157 158 int diameap_eap_get_data(struct eap_packet eappacket, u8 ** data, int * len)158 int diameap_eap_get_data(struct eap_packet *eappacket, u8 ** data, int * len) 159 159 { 160 160 TRACE_ENTRY("%p %p",eappacket,data); 161 if (eappacket .length > 5)162 { 163 *data = malloc(sizeof(u8) * (eappacket.length - 5));164 U8COPY(*data,0,(eappacket .length-5),(eappacket.data+5));165 *len = eappacket .length - 5;161 if (eappacket->length > 5) 162 { 163 CHECK_MALLOC( *data = malloc(sizeof(u8) * (eappacket->length - 5)) ); 164 U8COPY(*data,0,(eappacket->length-5),(eappacket->data+5)); 165 *len = eappacket->length - 5; 166 166 return 0; 167 167 } 168 TRACE_DEBUG(INFO,"%sEAP packet length=%d: empty or wrong EAP Packet.",DIAMEAP_EXTENSION, eappacket .length);168 TRACE_DEBUG(INFO,"%sEAP packet length=%d: empty or wrong EAP Packet.",DIAMEAP_EXTENSION, eappacket->length); 169 169 *data = NULL; 170 170 *len = 0; … … 173 173 } 174 174 175 void diameap_eap_dump(int level, struct eap_packet eappacket)176 { 177 TRACE_ENTRY("% p%p",level,eappacket);175 void diameap_eap_dump(int level, struct eap_packet *eappacket) 176 { 177 TRACE_ENTRY("%d %p",level,eappacket); 178 178 if (!TRACE_BOOL(level)) 179 179 return; 180 180 181 if (eappacket .data == NULL)181 if (eappacket->data == NULL) 182 182 return; 183 if (eappacket .length < 5)183 if (eappacket->length < 5) 184 184 return; 185 if (eappacket .ulength < 5)185 if (eappacket->ulength < 5) 186 186 return; 187 187 … … 215 215 CHECK_FCT_DO(diameap_eap_get_length(eappacket,&length),return); 216 216 fd_log_debug("\t -Length : %d ", (unsigned int)length); 217 if (eappacket .length > 4)217 if (eappacket->length > 4) 218 218 { 219 219 eap_type type; … … 221 221 fd_log_debug("\t -Type : %d ", type); 222 222 } 223 if (eappacket .length > 5)223 if (eappacket->length > 5) 224 224 { 225 225 char buf[1024]; 226 226 snprintf(buf, sizeof(buf), "\t -Data : "); 227 for (i = 5; i < eappacket .length && i < 30; i++)227 for (i = 5; i < eappacket->length && i < 30; i++) 228 228 { 229 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%02x ", G8(eappacket .data + i));229 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%02x ", G8(eappacket->data + i)); 230 230 } 231 if(i+1<eappacket .length)231 if(i+1<eappacket->length) 232 232 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "[...] (len=%d)",(unsigned int) length); 233 233 fd_log_debug("%s", buf); … … 240 240 { 241 241 242 TRACE_ENTRY("% p %p %p %p %p%p", code, id, type, data, dataLength,eappacket);242 TRACE_ENTRY("%d %hhu %d %p %hu %p", code, id, type, data, dataLength,eappacket); 243 243 244 244 int length = 0; -
extensions/app_diameap/diameap_eappacket.h
r425 r1027 97 97 */ 98 98 99 int diameap_eap_get_code(struct eap_packet eapPacket, eap_code * eapcode);99 int diameap_eap_get_code(struct eap_packet *eapPacket, eap_code * eapcode); 100 100 101 101 … … 115 115 */ 116 116 117 int diameap_eap_get_identifier(struct eap_packet eapPacket, u8 * identifier);117 int diameap_eap_get_identifier(struct eap_packet *eapPacket, u8 * identifier); 118 118 119 119 … … 132 132 */ 133 133 134 int diameap_eap_get_length(struct eap_packet eapPacket, u16 *length);134 int diameap_eap_get_length(struct eap_packet *eapPacket, u16 *length); 135 135 136 136 … … 149 149 */ 150 150 151 int diameap_eap_get_packetlength(struct eap_packet eapPacket, u16 *length);151 int diameap_eap_get_packetlength(struct eap_packet *eapPacket, u16 *length); 152 152 153 153 … … 166 166 */ 167 167 168 int diameap_eap_get_type(struct eap_packet eapPacket,eap_type * eaptype);168 int diameap_eap_get_type(struct eap_packet *eapPacket,eap_type * eaptype); 169 169 170 170 … … 184 184 */ 185 185 186 int diameap_eap_get_packetdata(struct eap_packet eapPacket, u8 ** data, int *len);186 int diameap_eap_get_packetdata(struct eap_packet *eapPacket, u8 ** data, int *len); 187 187 188 188 … … 202 202 */ 203 203 204 int diameap_eap_get_data(struct eap_packet eapPacket, u8 ** data, int * len);204 int diameap_eap_get_data(struct eap_packet *eapPacket, u8 ** data, int * len); 205 205 206 206 … … 233 233 */ 234 234 235 void diameap_eap_dump(int level, struct eap_packet eapPacket);235 void diameap_eap_dump(int level, struct eap_packet *eapPacket); 236 236 237 237 -
extensions/app_diameap/diameap_mysql.c
r577 r1027 108 108 } 109 109 110 int diameap_authentication_get_attribs(struct eap_user user,110 int diameap_authentication_get_attribs(struct eap_user *user, 111 111 struct fd_list * attribute_list) 112 112 { … … 131 131 query, 132 132 "SELECT `authe`.`attribute` ,`authe`.`value` FROM `authe` WHERE `authe`.`grp` IN ( SELECT `user_grp`.`grp` FROM `user_grp` WHERE `user_grp`.`user` = %d ) ", 133 user .id);133 user->id); 134 134 135 135 CHECK_POSIX(pthread_mutex_lock( &db_cs_mutex )); … … 169 169 } 170 170 171 int diameap_authorization_get_attribs(struct eap_user user,171 int diameap_authorization_get_attribs(struct eap_user *user, 172 172 struct fd_list * attribute_list) 173 173 { … … 192 192 query, 193 193 "SELECT `authz`.`attribute` , `authz`.`op` , `authz`.`value` FROM `authz` WHERE `authz`.`grp` IN ( SELECT `user_grp`.`grp` FROM `user_grp` WHERE `user_grp`.`user` = %d ) ", 194 user .id);194 user->id); 195 195 196 196 CHECK_POSIX(pthread_mutex_lock( &db_cs_mutex )); -
extensions/app_diameap/diameap_mysql.h
r438 r1027 57 57 58 58 /* */ 59 int diameap_authentication_get_attribs(struct eap_user user,59 int diameap_authentication_get_attribs(struct eap_user *user, 60 60 struct fd_list * attribute_list); 61 61 62 62 /* */ 63 int diameap_authorization_get_attribs(struct eap_user user,63 int diameap_authorization_get_attribs(struct eap_user *user, 64 64 struct fd_list * attribute_list); 65 65 -
extensions/app_diameap/diameap_plugins.c
r974 r1027 46 46 char * filename, char * conffile) 47 47 { 48 TRACE_ENTRY("%p % p %p%p %p", name, methodtype, vendor, filename, conffile);48 TRACE_ENTRY("%p %d %d %p %p", name, methodtype, vendor, filename, conffile); 49 49 50 50 /* Check the filename is valid */ … … 83 83 int diameap_plugin_get(u32 vendor, eap_type type, struct plugin ** getplugin) 84 84 { 85 TRACE_ENTRY("% p %p%p",vendor,type,getplugin);85 TRACE_ENTRY("%d %d %p",vendor,type,getplugin); 86 86 struct fd_list * pl; 87 87 … … 411 411 { 412 412 413 TRACE_ENTRY("% p %p",vendor,type);413 TRACE_ENTRY("%d %d",vendor,type); 414 414 struct fd_list * pl; 415 415 -
extensions/app_diameap/diameap_server.c
r639 r1027 342 342 343 343 static int diameap_parse_eap_resp(struct eap_state_machine * eap_sm, 344 struct eap_packet eappacket)344 struct eap_packet *eappacket) 345 345 { 346 346 TRACE_ENTRY("%p %p",eap_sm, eappacket) … … 352 352 eap_sm->respVendorMethod = TYPE_NONE; 353 353 354 if (eappacket .data == NULL)354 if (eappacket->data == NULL) 355 355 { 356 356 TRACE_DEBUG(INFO,"%s Empty EAP packet",DIAMEAP_EXTENSION); … … 414 414 if (eap_sm->respMethod == TYPE_EXPANDED_TYPES) 415 415 { 416 u8 *data = (u8 *) eappacket .data;416 u8 *data = (u8 *) eappacket->data; 417 417 //int len = 0; 418 418 //u32 respVendor, respVendorMethod; … … 455 455 eappacket->ulength = (u16) avpdata->avp_value->os.len; 456 456 eappacket->data = (u8 *) avpdata->avp_value->os.data; 457 diameap_eap_get_packetlength( *eappacket, &eappacket->length);457 diameap_eap_get_packetlength(eappacket, &eappacket->length); 458 458 return 0; 459 459 } … … 477 477 eap_i->aaaEapResp = TRUE; 478 478 u16 length; 479 diameap_eap_get_length( eap_i->aaaEapRespData, &length);479 diameap_eap_get_length(&eap_i->aaaEapRespData, &length); 480 480 if (length >= 4) 481 481 { 482 482 eap_code code; 483 CHECK_FCT(diameap_eap_get_code( eap_i->aaaEapRespData,&code));483 CHECK_FCT(diameap_eap_get_code(&eap_i->aaaEapRespData,&code)); 484 484 485 485 if (code != EAP_RESPONSE) … … 498 498 else 499 499 { 500 CHECK_FCT(diameap_parse_eap_resp(&diameap_sm->eap_sm, eap_i->aaaEapRespData));500 CHECK_FCT(diameap_parse_eap_resp(&diameap_sm->eap_sm, &eap_i->aaaEapRespData)); 501 501 if (diameap_sm->eap_sm.rxResp == FALSE) 502 502 { … … 1255 1255 int *ret) 1256 1256 { 1257 TRACE_ENTRY("%p %p %p % p %p", avp_attributes, attribute, avp_attrib, ret);1257 TRACE_ENTRY("%p %p %p %d %p", avp_attributes, attribute, avp_attrib, unlink, ret); 1258 1258 if (avp_attributes == NULL) 1259 1259 { … … 1289 1289 { 1290 1290 1291 TRACE_ENTRY("%p %p %p % p %p", auth_attributes, attribute, auth_attrib, ret);1291 TRACE_ENTRY("%p %p %p %d %p", auth_attributes, attribute, auth_attrib, unlink, ret); 1292 1292 1293 1293 if (auth_attributes == NULL) … … 1325 1325 int *ret) 1326 1326 { 1327 TRACE_ENTRY("%p %p %p % p %p", ans_attributes, attribute, ans_attrib, ret);1327 TRACE_ENTRY("%p %p %p %d %p", ans_attributes, attribute, ans_attrib, unlink, ret); 1328 1328 if (ans_attributes == NULL) 1329 1329 { … … 1638 1638 boolean is_operator(int format_type, char * operator) 1639 1639 { 1640 TRACE_ENTRY("% p%p",format_type,operator);1640 TRACE_ENTRY("%d %p",format_type,operator); 1641 1641 if ((format_type == DIAMEAP_STR) && (strcmp(operator, "==") == 0 || strcmp( 1642 1642 operator, "~=") == 0 || strcmp(operator, "!=") == 0)) … … 1653 1653 union avp_value diameap_get_num(char * num, enum dict_avp_basetype datatype) 1654 1654 { 1655 TRACE_ENTRY("%p % p",num,datatype);1655 TRACE_ENTRY("%p %d",num,datatype); 1656 1656 union avp_value val; 1657 1657 switch (datatype) … … 1682 1682 } 1683 1683 1684 boolean diameap_check(union avp_value A, char * B, char * operator,1684 boolean diameap_check(union avp_value *A, char * B, char * operator, 1685 1685 enum dict_avp_basetype datatype) 1686 1686 { 1687 TRACE_ENTRY("%p %p %p % p",A,B,operator,datatype);1687 TRACE_ENTRY("%p %p %p %d",A,B,operator,datatype); 1688 1688 if (((datatype == AVP_TYPE_OCTETSTRING) && (is_operator(DIAMEAP_STR, 1689 1689 operator) == TRUE)) || ((datatype != AVP_TYPE_OCTETSTRING) … … 1697 1697 operator) == TRUE)) 1698 1698 { 1699 if (strcmp((char *)A .os.data, B) == 0)1699 if (strcmp((char *)A->os.data, B) == 0) 1700 1700 return TRUE; 1701 1701 else … … 1710 1710 { 1711 1711 case AVP_TYPE_INTEGER32://i32 1712 return EQ(A .i32,diameap_get_num(B, datatype).i32);1712 return EQ(A->i32,diameap_get_num(B, datatype).i32); 1713 1713 break; 1714 1714 case AVP_TYPE_INTEGER64://i64 1715 return EQ(A .i64,diameap_get_num(B, datatype).i64);1715 return EQ(A->i64,diameap_get_num(B, datatype).i64); 1716 1716 break; 1717 1717 case AVP_TYPE_UNSIGNED32://u32 1718 return EQ(A .u32,diameap_get_num(B, datatype).u32);1718 return EQ(A->u32,diameap_get_num(B, datatype).u32); 1719 1719 break; 1720 1720 case AVP_TYPE_UNSIGNED64://u64 1721 return EQ(A .u64,diameap_get_num(B, datatype).u64);1721 return EQ(A->u64,diameap_get_num(B, datatype).u64); 1722 1722 break; 1723 1723 case AVP_TYPE_FLOAT32://f32 1724 return EQ(A .f32,diameap_get_num(B, datatype).f32);1724 return EQ(A->f32,diameap_get_num(B, datatype).f32); 1725 1725 break; 1726 1726 case AVP_TYPE_FLOAT64://f64 1727 return EQ(A .f64,diameap_get_num(B, datatype).f64);1727 return EQ(A->f64,diameap_get_num(B, datatype).f64); 1728 1728 break; 1729 1729 default: … … 1745 1745 regex_t rule_regexp; 1746 1746 regcomp(&rule_regexp, B, REG_EXTENDED | REG_NOSUB | REG_ICASE); 1747 if (regexec(&rule_regexp, (char *)A .os.data, 0, NULL, 0) != 0)1747 if (regexec(&rule_regexp, (char *)A->os.data, 0, NULL, 0) != 0) 1748 1748 { 1749 1749 authorized = FALSE; … … 1766 1766 { 1767 1767 case AVP_TYPE_INTEGER32://i32 1768 return GT(A .i32, diameap_get_num(B, datatype).i32);1768 return GT(A->i32, diameap_get_num(B, datatype).i32); 1769 1769 break; 1770 1770 case AVP_TYPE_INTEGER64://i64 1771 return GT(A .i64, diameap_get_num(B, datatype).i64);1771 return GT(A->i64, diameap_get_num(B, datatype).i64); 1772 1772 break; 1773 1773 case AVP_TYPE_UNSIGNED32://u32 1774 return GT(A .u32, diameap_get_num(B, datatype).u32);1774 return GT(A->u32, diameap_get_num(B, datatype).u32); 1775 1775 break; 1776 1776 case AVP_TYPE_UNSIGNED64://u64 1777 return GT(A .u64, diameap_get_num(B, datatype).u64);1777 return GT(A->u64, diameap_get_num(B, datatype).u64); 1778 1778 break; 1779 1779 case AVP_TYPE_FLOAT32://f32 1780 return GT(A .f32, diameap_get_num(B, datatype).f32);1780 return GT(A->f32, diameap_get_num(B, datatype).f32); 1781 1781 break; 1782 1782 case AVP_TYPE_FLOAT64://f64 1783 return GT(A .f64, diameap_get_num(B, datatype).f64);1783 return GT(A->f64, diameap_get_num(B, datatype).f64); 1784 1784 break; 1785 1785 default: … … 1800 1800 { 1801 1801 case AVP_TYPE_INTEGER32://i32 1802 return GE(A .i32,diameap_get_num(B, datatype).i32);1802 return GE(A->i32,diameap_get_num(B, datatype).i32); 1803 1803 break; 1804 1804 case AVP_TYPE_INTEGER64://i64 1805 return GE(A .i64,diameap_get_num(B, datatype).i64);1805 return GE(A->i64,diameap_get_num(B, datatype).i64); 1806 1806 break; 1807 1807 case AVP_TYPE_UNSIGNED32://u32 1808 return GE(A .u32,diameap_get_num(B, datatype).u32);1808 return GE(A->u32,diameap_get_num(B, datatype).u32); 1809 1809 break; 1810 1810 case AVP_TYPE_UNSIGNED64://u64 1811 return GE(A .u64,diameap_get_num(B, datatype).u64);1811 return GE(A->u64,diameap_get_num(B, datatype).u64); 1812 1812 break; 1813 1813 case AVP_TYPE_FLOAT32://f32 1814 return GE(A .f32,diameap_get_num(B, datatype).f32);1814 return GE(A->f32,diameap_get_num(B, datatype).f32); 1815 1815 break; 1816 1816 case AVP_TYPE_FLOAT64://f64 1817 return GE(A .f64,diameap_get_num(B, datatype).f64);1817 return GE(A->f64,diameap_get_num(B, datatype).f64); 1818 1818 break; 1819 1819 default: … … 1834 1834 { 1835 1835 case AVP_TYPE_INTEGER32://i32 1836 return LT(A .i32, diameap_get_num(B, datatype).i32);1836 return LT(A->i32, diameap_get_num(B, datatype).i32); 1837 1837 break; 1838 1838 case AVP_TYPE_INTEGER64://i64 1839 return LT(A .i64, diameap_get_num(B, datatype).i64);1839 return LT(A->i64, diameap_get_num(B, datatype).i64); 1840 1840 break; 1841 1841 case AVP_TYPE_UNSIGNED32://u32 1842 return LT(A .u32, diameap_get_num(B, datatype).u32);1842 return LT(A->u32, diameap_get_num(B, datatype).u32); 1843 1843 break; 1844 1844 case AVP_TYPE_UNSIGNED64://u64 1845 return LT(A .u64, diameap_get_num(B, datatype).u64);1845 return LT(A->u64, diameap_get_num(B, datatype).u64); 1846 1846 break; 1847 1847 case AVP_TYPE_FLOAT32://f32 1848 return LT(A .f32, diameap_get_num(B, datatype).f32);1848 return LT(A->f32, diameap_get_num(B, datatype).f32); 1849 1849 break; 1850 1850 case AVP_TYPE_FLOAT64://f64 1851 return LT(A .f64, diameap_get_num(B, datatype).f64);1851 return LT(A->f64, diameap_get_num(B, datatype).f64); 1852 1852 break; 1853 1853 default: … … 1868 1868 { 1869 1869 case AVP_TYPE_INTEGER32://i32 1870 return LE(A .i32, diameap_get_num(B, datatype).i32);1870 return LE(A->i32, diameap_get_num(B, datatype).i32); 1871 1871 break; 1872 1872 case AVP_TYPE_INTEGER64://i64 1873 return LE(A .i64, diameap_get_num(B, datatype).i64);1873 return LE(A->i64, diameap_get_num(B, datatype).i64); 1874 1874 break; 1875 1875 case AVP_TYPE_UNSIGNED32://u32 1876 return LE(A .u32, diameap_get_num(B, datatype).u32);1876 return LE(A->u32, diameap_get_num(B, datatype).u32); 1877 1877 break; 1878 1878 case AVP_TYPE_UNSIGNED64://u64 1879 return LE(A .u64, diameap_get_num(B, datatype).u64);1879 return LE(A->u64, diameap_get_num(B, datatype).u64); 1880 1880 break; 1881 1881 case AVP_TYPE_FLOAT32://f32 1882 return LE(A .f32, diameap_get_num(B, datatype).f32);1882 return LE(A->f32, diameap_get_num(B, datatype).f32); 1883 1883 break; 1884 1884 case AVP_TYPE_FLOAT64://f64 1885 return LE(A .f64, diameap_get_num(B, datatype).f64);1885 return LE(A->f64, diameap_get_num(B, datatype).f64); 1886 1886 break; 1887 1887 default: … … 1898 1898 operator) == TRUE)) 1899 1899 { 1900 if (strcmp((char *)A .os.data, B) != 0)1900 if (strcmp((char *)A->os.data, B) != 0) 1901 1901 return TRUE; 1902 1902 else … … 1910 1910 { 1911 1911 case AVP_TYPE_INTEGER32://i32 1912 return NE(A .i32, diameap_get_num(B, datatype).i32);1912 return NE(A->i32, diameap_get_num(B, datatype).i32); 1913 1913 break; 1914 1914 case AVP_TYPE_INTEGER64://i64 1915 return NE(A .i64, diameap_get_num(B, datatype).i64);1915 return NE(A->i64, diameap_get_num(B, datatype).i64); 1916 1916 break; 1917 1917 case AVP_TYPE_UNSIGNED32://u32 1918 return NE(A .u32, diameap_get_num(B, datatype).u32);1918 return NE(A->u32, diameap_get_num(B, datatype).u32); 1919 1919 break; 1920 1920 case AVP_TYPE_UNSIGNED64://u64 1921 return NE(A .u64, diameap_get_num(B, datatype).u64);1921 return NE(A->u64, diameap_get_num(B, datatype).u64); 1922 1922 break; 1923 1923 case AVP_TYPE_FLOAT32://f32 1924 return NE(A .f32, diameap_get_num(B, datatype).f32);1924 return NE(A->f32, diameap_get_num(B, datatype).f32); 1925 1925 break; 1926 1926 case AVP_TYPE_FLOAT64://f64 1927 return NE(A .f64, diameap_get_num(B, datatype).f64);1927 return NE(A->f64, diameap_get_num(B, datatype).f64); 1928 1928 break; 1929 1929 default: … … 1992 1992 } 1993 1993 1994 int diameap_answer_set_attribute_valueA(union avp_value A, int *tofree,1994 int diameap_answer_set_attribute_valueA(union avp_value *A, int *tofree, 1995 1995 enum dict_avp_basetype datatype, union avp_value * rval) 1996 1996 { 1997 TRACE_ENTRY("%p %p % p%p",A,tofree,datatype,rval);1997 TRACE_ENTRY("%p %p %d %p",A,tofree,datatype,rval); 1998 1998 if (datatype == AVP_TYPE_OCTETSTRING) 1999 1999 { 2000 CHECK_MALLOC(rval->os.data=malloc(A .os.len));2001 memcpy(rval->os.data,A .os.data,A.os.len);2002 rval->os.len = A .os.len;2000 CHECK_MALLOC(rval->os.data=malloc(A->os.len)); 2001 memcpy(rval->os.data,A->os.data,A->os.len); 2002 rval->os.len = A->os.len; 2003 2003 *tofree = 1; 2004 2004 } 2005 2005 else 2006 2006 { 2007 *rval = A;2007 *rval = *A; 2008 2008 } 2009 2009 return 0; … … 2012 2012 enum dict_avp_basetype datatype, union avp_value * rval) 2013 2013 { 2014 TRACE_ENTRY("%p %p % p%p",B,tofree,datatype,rval);2014 TRACE_ENTRY("%p %p %d %p",B,tofree,datatype,rval); 2015 2015 if (datatype == AVP_TYPE_OCTETSTRING) 2016 2016 { … … 2092 2092 if (ret == 0) 2093 2093 { 2094 checked = diameap_check( avp_attrib->value, auth_attrib->value,2094 checked = diameap_check(&avp_attrib->value, auth_attrib->value, 2095 2095 op, avpdata.avp_basetype); 2096 2096 } … … 2119 2119 { 2120 2120 diameap_answer_set_attribute_valueA( 2121 avp_attrib->value, &ans_attrib->tofree,2121 &avp_attrib->value, &ans_attrib->tofree, 2122 2122 avpdata.avp_basetype, &ans_attrib->value); 2123 2123 } … … 2146 2146 if (toadd == 1) 2147 2147 { 2148 diameap_answer_set_attribute_valueA( avp_attrib->value,2148 diameap_answer_set_attribute_valueA(&avp_attrib->value, 2149 2149 &ans_attrib->tofree, avpdata.avp_basetype, 2150 2150 &ans_attrib->value); … … 2177 2177 2178 2178 static int diameap_policy_decision(struct diameap_state_machine * diameap_sm, 2179 struct diameap_eap_interface eap_i)2179 struct diameap_eap_interface *eap_i) 2180 2180 { 2181 2181 TRACE_ENTRY("%p %p",diameap_sm,eap_i); 2182 2182 2183 if ((eap_i .aaaFail == TRUE) && (eap_i.aaaSuccess == TRUE))2183 if ((eap_i->aaaFail == TRUE) && (eap_i->aaaSuccess == TRUE)) 2184 2184 { 2185 2185 TRACE_DEBUG(INFO,"%s Incorrect EAP decision. EAP process should not return both success and failure for the same session.(please report this problem.)",DIAMEAP_EXTENSION); … … 2187 2187 } 2188 2188 2189 if (eap_i .aaaFail == TRUE)2189 if (eap_i->aaaFail == TRUE) 2190 2190 { 2191 2191 diameap_sm->result_code = 4001; /* DIAMETER_AUTHENTICATION_REJECTED 4001 */ … … 2195 2195 } 2196 2196 2197 if (eap_i .aaaSuccess == FALSE)2197 if (eap_i->aaaSuccess == FALSE) 2198 2198 { 2199 2199 diameap_sm->result_code = 1001; /* DIAMETER_MULTI_ROUND_AUTH 1001 */ … … 2201 2201 } 2202 2202 2203 if (eap_i .aaaSuccess == TRUE)2203 if (eap_i->aaaSuccess == TRUE) 2204 2204 { 2205 2205 if (diameap_sm->auth_request_val == AUTHORIZE_AUTHENTICATE) … … 2874 2874 2875 2875 static int diameap_add_eap_payload(struct diameap_state_machine * diameap_sm, 2876 struct msg * ans, struct diameap_eap_interface eap_i)2876 struct msg * ans, struct diameap_eap_interface *eap_i) 2877 2877 { 2878 2878 TRACE_ENTRY("%p %p",diameap_sm,ans); … … 2907 2907 EAP_Max_Length = Framed_MTU - NAS_Port_Type_HeaderLength; 2908 2908 2909 if (eap_i .aaaEapReqData.length <= EAP_Max_Length)2909 if (eap_i->aaaEapReqData.length <= EAP_Max_Length) 2910 2910 { 2911 2911 … … 2913 2913 { 2914 2914 CHECK_FCT(fd_msg_avp_new(dataobj_eap_payload, 0, &avp)); 2915 avp_val.os.data = eap_i .aaaEapReqData.data;2916 avp_val.os.len = eap_i .aaaEapReqData.length;2915 avp_val.os.data = eap_i->aaaEapReqData.data; 2916 avp_val.os.len = eap_i->aaaEapReqData.length; 2917 2917 CHECK_FCT(fd_msg_avp_setvalue(avp, &avp_val)); 2918 2918 CHECK_FCT( fd_msg_avp_add( ans, MSG_BRW_LAST_CHILD, avp ) ); … … 2925 2925 2926 2926 CHECK_FCT(fd_msg_avp_new(dataobj_eap_payload, 0, &diameap_sm->lastReqEAPavp)); 2927 avp_val.os.data = eap_i .aaaEapReqData.data;2928 avp_val.os.len = eap_i .aaaEapReqData.length;2927 avp_val.os.data = eap_i->aaaEapReqData.data; 2928 avp_val.os.len = eap_i->aaaEapReqData.length; 2929 2929 CHECK_FCT(fd_msg_avp_setvalue(diameap_sm->lastReqEAPavp, &avp_val)); 2930 2930 … … 2947 2947 static int diameap_add_eap_success_avps( 2948 2948 struct diameap_state_machine * diameap_sm, struct msg * ans, 2949 struct diameap_eap_interface eap_i)2949 struct diameap_eap_interface *eap_i) 2950 2950 { 2951 2951 TRACE_ENTRY("%p %p %p",diameap_sm,ans,eap_i); … … 2955 2955 2956 2956 /* EAP-Master-Session-Key AVP */ 2957 if (eap_i .aaaEapKeyAvailable == TRUE)2957 if (eap_i->aaaEapKeyAvailable == TRUE) 2958 2958 { 2959 2959 CHECK_FCT(fd_msg_avp_new(dataobj_eap_master_session_key, 0, &avp)); 2960 avp_val.os.data = eap_i .aaaEapMSKData;2961 avp_val.os.len = eap_i .aaaEapMSKLength;2960 avp_val.os.data = eap_i->aaaEapMSKData; 2961 avp_val.os.len = eap_i->aaaEapMSKLength; 2962 2962 CHECK_FCT(fd_msg_avp_setvalue(avp, &avp_val)); 2963 2963 CHECK_FCT( fd_msg_avp_add( ans, MSG_BRW_LAST_CHILD, avp ) ); … … 2989 2989 TRACE_ENTRY("%p",diameap_sm); 2990 2990 2991 CHECK_FCT(diameap_authorization_get_attribs( diameap_sm->eap_sm.user, &diameap_sm->attributes));2991 CHECK_FCT(diameap_authorization_get_attribs(&diameap_sm->eap_sm.user, &diameap_sm->attributes)); 2992 2992 2993 2993 diameap_sm->authorized = TRUE; … … 3178 3178 case DIAMEAP_SELECT_DECISION: 3179 3179 3180 CHECK_FCT_DO( diameap_policy_decision(diameap_sm, eap_i),3180 CHECK_FCT_DO( diameap_policy_decision(diameap_sm,&eap_i), 3181 3181 goto s_end) 3182 3182 ; … … 3222 3222 { 3223 3223 TRACE_DEBUG(FULL+1,"%sSelect authentication attributes.",DIAMEAP_EXTENSION); 3224 CHECK_FCT_DO(diameap_authentication_get_attribs( diameap_sm->eap_sm.user, &diameap_sm->attributes),3224 CHECK_FCT_DO(diameap_authentication_get_attribs(&diameap_sm->eap_sm.user, &diameap_sm->attributes), 3225 3225 { TRACE_DEBUG(INFO,"%s Unable to get user's session attributes.",DIAMEAP_EXTENSION); goto s_end;}); 3226 3226 TRACE_DEBUG(FULL+1,"%sCreate answer authentication attributes.",DIAMEAP_EXTENSION); 3227 3227 CHECK_FCT_DO(diameap_answer_avp_attributes(diameap_sm), 3228 { TRACE_DEBUG(INFO,"% Unable to generate answer attributes.",DIAMEAP_EXTENSION); goto s_end;});3228 { TRACE_DEBUG(INFO,"%s Unable to generate answer attributes.",DIAMEAP_EXTENSION); goto s_end;}); 3229 3229 } 3230 3230 … … 3253 3253 TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION) 3254 3254 ; 3255 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans, eap_i),3255 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans,&eap_i), 3256 3256 { TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;}) 3257 3257 ; … … 3282 3282 TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION) 3283 3283 ; 3284 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans, eap_i),3284 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans,&eap_i), 3285 3285 { TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;}) 3286 3286 ; … … 3312 3312 TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION) 3313 3313 ; 3314 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans, eap_i),3314 CHECK_FCT_DO( diameap_add_eap_payload(diameap_sm, ans,&eap_i), 3315 3315 { TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;}) 3316 3316 ; 3317 3317 TRACE_DEBUG(FULL+1,"%sAdding EAP success AVPs AVPs to Diameter-EAP-Answer.",DIAMEAP_EXTENSION) 3318 3318 ; 3319 CHECK_FCT_DO( diameap_add_eap_success_avps(diameap_sm, ans, eap_i),3319 CHECK_FCT_DO( diameap_add_eap_success_avps(diameap_sm, ans, &eap_i), 3320 3320 goto s_end) 3321 3321 ; -
extensions/app_diameap/diameap_user.c
r425 r1027 39 39 #include "libdiameap.h" 40 40 41 int diameap_user_get_userid(struct eap_user user, u8* userid)41 int diameap_user_get_userid(struct eap_user *user, u8* userid) 42 42 { 43 43 TRACE_ENTRY("%p %p",user,userid); 44 if (user .userid == NULL)44 if (user->userid == NULL) 45 45 return EINVAL; 46 userid = user .userid;46 userid = user->userid; 47 47 return 0; 48 48 } 49 49 50 int diameap_user_get_password(struct eap_user user, u8* password,u16 * passwordlength)50 int diameap_user_get_password(struct eap_user *user, u8* password,u16 * passwordlength) 51 51 { 52 52 TRACE_ENTRY("%p %p",user,password); 53 if (user .password == NULL)53 if (user->password == NULL) 54 54 return EINVAL; 55 password = user .password;56 *passwordlength = user .passwordLength;55 password = user->password; 56 *passwordlength = user->passwordLength; 57 57 return 0; 58 58 } 59 59 60 int diameap_user_get_passwordlength(struct eap_user user, u16 * passwordlength)60 int diameap_user_get_passwordlength(struct eap_user *user, u16 * passwordlength) 61 61 { 62 62 TRACE_ENTRY("%p %p",user,passwordlength); 63 if (user .password == NULL)63 if (user->password == NULL) 64 64 return EINVAL; 65 *passwordlength = user .passwordLength;65 *passwordlength = user->passwordLength; 66 66 return 0; 67 67 } … … 70 70 u16 passwordLength) 71 71 { 72 TRACE_ENTRY("%p %p % p",user,password,passwordLength);72 TRACE_ENTRY("%p %p %hu",user,password,passwordLength); 73 73 if (password == NULL) 74 74 return EINVAL; … … 83 83 u16 useridLength) 84 84 { 85 TRACE_ENTRY("%p %p % p",user,userid,useridLength);85 TRACE_ENTRY("%p %p %hu",user,userid,useridLength); 86 86 if (userid == NULL) 87 87 return EINVAL; … … 93 93 } 94 94 95 int diameap_user_get_methodid(struct eap_user user, int * methodid)95 int diameap_user_get_methodid(struct eap_user *user, int * methodid) 96 96 { 97 97 TRACE_ENTRY("%p %p",user,methodid); 98 if (user .password == NULL)98 if (user->password == NULL) 99 99 return EINVAL; 100 *methodid = user .methodId;100 *methodid = user->methodId; 101 101 return 0; 102 102 } … … 104 104 int diameap_user_set_methodid(struct eap_user * user, int methodId) 105 105 { 106 TRACE_ENTRY("%p % p",user,methodId);106 TRACE_ENTRY("%p %d",user,methodId); 107 107 if (user->password == NULL) 108 108 return EINVAL; … … 113 113 } 114 114 115 boolean diameap_user_issuccess(struct eap_user user)115 boolean diameap_user_issuccess(struct eap_user *user) 116 116 { 117 117 TRACE_ENTRY("%p",user); 118 if (user .password == NULL)118 if (user->password == NULL) 119 119 return FALSE; 120 return user .success;120 return user->success; 121 121 } 122 122 … … 130 130 } 131 131 132 int diameap_user_get_eap_method(struct eap_user user, int id,132 int diameap_user_get_eap_method(struct eap_user *user, int id, 133 133 struct eap_method *method) 134 134 { 135 TRACE_ENTRY("%p % p%p",user,id,method);136 if (sizeof(user .methods) >= (id - 1))137 *method = user .methods[id];135 TRACE_ENTRY("%p %d %p",user,id,method); 136 if (sizeof(user->methods) >= (id - 1)) 137 *method = user->methods[id]; 138 138 return 0; 139 139 } 140 140 141 141 int diameap_user_set_eap_method(struct eap_user * user, int id, 142 struct eap_method method)142 struct eap_method * method) 143 143 { 144 TRACE_ENTRY("%p % p%p",user,id,method);144 TRACE_ENTRY("%p %d %p",user,id,method); 145 145 if (user->password == NULL) 146 146 return EINVAL; 147 147 if (sizeof(user->methods) < (id - 1)) 148 148 return EINVAL; 149 user->methods[id].vendor = method .vendor;150 user->methods[id].method = method .method;149 user->methods[id].vendor = method->vendor; 150 user->methods[id].method = method->method; 151 151 return 0; 152 152 } -
extensions/app_diameap/diameap_user.h
r565 r1027 76 76 boolean check_user_identity; 77 77 78 int diameap_user_get_password(struct eap_user user, u8 * password,u16 *length);78 int diameap_user_get_password(struct eap_user *user, u8 * password,u16 *length); 79 79 80 int diameap_user_get_userid(struct eap_user user, u8 * userid);80 int diameap_user_get_userid(struct eap_user *user, u8 * userid); 81 81 82 82 int diameap_user_set_password(struct eap_user * user, u8 * password, u16 Length); … … 84 84 int diameap_user_set_userid(struct eap_user * user, u8 * userid, u16 Length); 85 85 86 int diameap_user_get_methodid(struct eap_user user,int *methodId);86 int diameap_user_get_methodid(struct eap_user *user,int *methodId); 87 87 88 88 int diameap_user_set_methodid(struct eap_user * user, int methodId); 89 89 90 boolean diameap_user_issuccess(struct eap_user user);90 boolean diameap_user_issuccess(struct eap_user *user); 91 91 92 92 int diameap_user_set_success(struct eap_user * user); 93 93 94 int diameap_user_get_eap_method(struct eap_user user, int id, struct eap_method * eapmethod);94 int diameap_user_get_eap_method(struct eap_user *user, int id, struct eap_method * eapmethod); 95 95 96 int diameap_user_set_eap_method(struct eap_user * user, int id, struct eap_method method);96 int diameap_user_set_eap_method(struct eap_user * user, int id, struct eap_method * method); 97 97 98 98 #endif /* DIAMEAP_USER_H_ */ -
extensions/app_diameap/plugins/eap_identity/eap_identity.c
r577 r1027 49 49 int identity_initPickUp(struct eap_state_machine *smd); 50 50 int identity_buildReq(struct eap_state_machine *smd, u8 identity, struct eap_packet * eapPacket); 51 boolean identity_check(struct eap_state_machine *smd, struct eap_packet eapRespData);52 int identity_process(struct eap_state_machine *smd, struct eap_packet eapRespData);51 boolean identity_check(struct eap_state_machine *smd, struct eap_packet *eapRespData); 52 int identity_process(struct eap_state_machine *smd, struct eap_packet *eapRespData); 53 53 boolean identity_isDone(struct eap_state_machine *smd); 54 54 void identity_free(void * data); … … 87 87 88 88 89 boolean identity_check(struct eap_state_machine *smd, struct eap_packet eapPacket)89 boolean identity_check(struct eap_state_machine *smd, struct eap_packet *eapPacket) 90 90 { 91 91 92 if (eapPacket .data == NULL)92 if (eapPacket->data == NULL) 93 93 { 94 94 TRACE_DEBUG(INFO,"%s[EAP Identity plugin] Empty EAP packet received.",DIAMEAP_EXTENSION); … … 118 118 } 119 119 120 int identity_process(struct eap_state_machine *smd, struct eap_packet eapRespData)120 int identity_process(struct eap_state_machine *smd, struct eap_packet *eapRespData) 121 121 { 122 122 struct identity_data * data; -
extensions/app_diameap/plugins/eap_md5/eap_md5.c
r959 r1027 58 58 int eap_md5_buildReq(struct eap_state_machine *smd, u8 eap_md5, 59 59 struct eap_packet * eapPacket); 60 boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet eapRespData);61 int eap_md5_process(struct eap_state_machine *smd, struct eap_packet eapRespData);60 boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet *eapRespData); 61 int eap_md5_process(struct eap_state_machine *smd, struct eap_packet *eapRespData); 62 62 boolean eap_md5_isDone(struct eap_state_machine *smd); 63 63 void eap_md5_free(void * data); … … 115 115 116 116 117 boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet eapRespData)117 boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet *eapRespData) 118 118 { 119 119 eap_type type; … … 137 137 138 138 139 int eap_md5_process(struct eap_state_machine *smd, struct eap_packet eapRespData)139 int eap_md5_process(struct eap_state_machine *smd, struct eap_packet *eapRespData) 140 140 { 141 141 … … 158 158 for (i = 0; i < CHALLENGE_LEN; i++) 159 159 { 160 if (G8(hash + i) != G8(eapRespData .data + 6 + i))160 if (G8(hash + i) != G8(eapRespData->data + 6 + i)) 161 161 { 162 162 data->state = EAP_MD5_FAILURE; -
extensions/app_diameap/plugins/eap_tls/eap_tls.c
r825 r1027 46 46 int eap_tls_getTimeout(struct eap_state_machine *smd, int * timeout); 47 47 boolean eap_tls_check(struct eap_state_machine *smd, 48 struct eap_packet eapRespData);48 struct eap_packet *eapRespData); 49 49 int eap_tls_process(struct eap_state_machine *smd, 50 struct eap_packet eapRespData);50 struct eap_packet *eapRespData); 51 51 boolean eap_tls_isDone(struct eap_state_machine *smd); 52 52 int eap_tls_getKey(struct eap_state_machine *smd, u8** msk, int * msklen, u8** emsk, int * emsklen); … … 149 149 150 150 boolean eap_tls_check(struct eap_state_machine *smd, 151 struct eap_packet eapRespData)151 struct eap_packet *eapRespData) 152 152 { 153 153 eap_type type; … … 165 165 166 166 int eap_tls_process(struct eap_state_machine *smd, 167 struct eap_packet eapRespData)167 struct eap_packet *eapRespData) 168 168 { 169 169 struct tls_data * data; … … 353 353 354 354 // parse EAP TLS msg 355 int diameap_eap_tls_parse(struct tls_msg * tlsmsg, struct eap_packet eapPacket)355 int diameap_eap_tls_parse(struct tls_msg * tlsmsg, struct eap_packet *eapPacket) 356 356 { 357 357 u8 *datatls; -
extensions/app_diameap/plugins/eap_tls/eap_tls.h
r438 r1027 46 46 int diameap_eap_tls_buildReq_start(u8 id, struct eap_packet * eapPacket); 47 47 int diameap_eap_tls_buildReq_data(struct tls_data * data,int id,struct eap_packet * eapPacket); 48 int diameap_eap_tls_parse(struct tls_msg * eaptls,struct eap_packet eapPacket);48 int diameap_eap_tls_parse(struct tls_msg * eaptls,struct eap_packet *eapPacket); 49 49 int eaptlsparse(struct tls_config * conf); 50 50 -
extensions/app_radgw/radius.c
r996 r1027 519 519 int ret = 0; 520 520 521 TRACE_ENTRY("%p % g%p", buf, len, msg);521 TRACE_ENTRY("%p %zd %p", buf, len, msg); 522 522 523 523 CHECK_PARAMS( buf && len >= sizeof(*hdr) && msg ); -
extensions/app_radgw/rgw_clients.c
r977 r1027 163 163 if (now - r->received > DUPLICATE_CHECK_LIFETIME) { 164 164 165 TRACE_DEBUG(ANNOYING + 1, "Purging RADIUS request (id: %02hhx, port: %hu, dup #%d, age % d secs)", r->id, ntohs(r->port), r->nbdup, now - r->received);165 TRACE_DEBUG(ANNOYING + 1, "Purging RADIUS request (id: %02hhx, port: %hu, dup #%d, age %ld secs)", r->id, ntohs(r->port), r->nbdup, (long)(now - r->received)); 166 166 167 167 /* Remove this record */ … … 459 459 time_t now = time(NULL); 460 460 r->nbdup += 1; 461 TRACE_DEBUG(INFO, "Received duplicated RADIUS message (id: %02hhx, port: %hu, dup #%d, previously seen % d secs ago).",462 r->id, ntohs(r->port), r->nbdup, now - r->received);461 TRACE_DEBUG(INFO, "Received duplicated RADIUS message (id: %02hhx, port: %hu, dup #%d, previously seen %ld secs ago).", 462 r->id, ntohs(r->port), r->nbdup, (long)(now - r->received)); 463 463 464 464 if (r->ans) { … … 780 780 if (cli->type == RGW_CLI_NAS) { 781 781 TRACE_DEBUG(INFO, "The NAS-Identifier value '%.*s' resolves to a different IP than the client's, discarding the message. Configure this client as a Proxy if this message should be valid.", 782 nas_id_len, nas_id + 1);782 (int)nas_id_len, (char *)(nas_id + 1)); 783 783 return EINVAL; 784 784 } else { … … 813 813 814 814 cli->aliases_nb ++; 815 TRACE_DEBUG(FULL, "Saved valid alias for client: '%.*s' -> '%s'", nas_id_len, nas_id + 1, cli->fqdn);815 TRACE_DEBUG(FULL, "Saved valid alias for client: '%.*s' -> '%s'", (int)nas_id_len, (char *)(nas_id + 1), cli->fqdn); 816 816 CHECK_FCT( rgw_clients_get_origin(cli, &oh_str, &oh_strlen, &or_str, &or_strlen) ); 817 817 } -
extensions/app_radgw/rgw_servers.c
r996 r1027 279 279 char __buf[1024]; 280 280 sSA_DUMP_NODE_SERV(__buf, sizeof(__buf), &sto, NI_NUMERICHOST | NI_NUMERICSERV ); 281 TRACE_DEBUG(FULL, "Sending % d bytes to %s", buflen, __buf);281 TRACE_DEBUG(FULL, "Sending %zd bytes to %s", buflen, __buf); 282 282 } 283 283 -
extensions/app_radgw/rgwx_acct.c
r996 r1027 365 365 si = v + pref_len; 366 366 si_len = attr_len - pref_len; 367 TRACE_DEBUG(ANNOYING, "Found Class attribute with '%s' prefix (attr #%d), SI:'%.*s'.", prefix, idx, si_len, si);367 TRACE_DEBUG(ANNOYING, "Found Class attribute with '%s' prefix (attr #%d), SI:'%.*s'.", prefix, idx, (int)si_len, si); 368 368 /* Remove from the message */ 369 369 for (i = idx + 1; i < rad_req->attr_used; i++) … … 377 377 un = v; 378 378 un_len = attr_len; 379 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", un_len, un);379 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", (int)un_len, un); 380 380 } 381 381 break; … … 490 490 CHECK_FCT( fd_sess_fromsid_msg ( si, si_len, &sess, NULL) ); 491 491 492 TRACE_DEBUG(FULL, "[acct.rgwx] Translating new accounting message for session '%.*s'...", si_len, si);492 TRACE_DEBUG(FULL, "[acct.rgwx] Translating new accounting message for session '%.*s'...", (int)si_len, si); 493 493 494 494 /* Add the Session-Id AVP as first AVP */ … … 1271 1271 fd_log_debug("[acct.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, not translating into Accounting-Response", 1272 1272 ahdr->avp_value->u32, 1273 oh->avp_value->os.len, oh->avp_value->os.data,1274 sidlen, sid);1273 (int)oh->avp_value->os.len, oh->avp_value->os.data, 1274 (int)sidlen, sid); 1275 1275 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Message, &avp) ); 1276 1276 if (avp) { 1277 1277 CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) ); 1278 1278 fd_log_debug("[acct.rgwx] Error-Message content: '%.*s'", 1279 ahdr->avp_value->os.len, ahdr->avp_value->os.data);1279 (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 1280 1280 } 1281 1281 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Reporting_Host, &avp) ); … … 1283 1283 CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) ); 1284 1284 fd_log_debug("[acct.rgwx] Error-Reporting-Host: '%.*s'", 1285 ahdr->avp_value->os.len, ahdr->avp_value->os.data);1285 (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 1286 1286 } 1287 1287 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Failed_AVP, &avp) ); -
extensions/app_radgw/rgwx_auth.c
r996 r1027 369 369 si_len = attr_len - i; 370 370 371 TRACE_DEBUG(ANNOYING, "Attribute parsed successfully: DH:'%.*s' DR:'%.*s' SI:'%.*s'.", dh_len, dh, dr_len, dr,si_len, si);371 TRACE_DEBUG(ANNOYING, "Attribute parsed successfully: DH:'%.*s' DR:'%.*s' SI:'%.*s'.", (int)dh_len, dh, (int)dr_len, dr, (int)si_len, si); 372 372 /* Remove from the message */ 373 373 for (i = idx + 1; i < rad_req->attr_used; i++) … … 379 379 380 380 case RADIUS_ATTR_USER_NAME: 381 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr_len, attr_len ? (char *)attr_val : "");381 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", (int)attr_len, attr_len ? (char *)attr_val : ""); 382 382 un = attr_val; 383 383 un_len = attr_len; … … 1242 1242 fd_log_debug("[auth.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, translating into Access-Reject", 1243 1243 ahdr->avp_value->u32, 1244 oh->avp_value->os.len, oh->avp_value->os.data,1245 sidlen, sid);1244 (int)oh->avp_value->os.len, oh->avp_value->os.data, 1245 (int)sidlen, sid); 1246 1246 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Message, &avp_x) ); 1247 1247 if (avp_x) { 1248 1248 CHECK_FCT( fd_msg_avp_hdr ( avp_x, &ahdr ) ); 1249 1249 fd_log_debug("[auth.rgwx] Error-Message content: '%.*s'", 1250 ahdr->avp_value->os.len, ahdr->avp_value->os.data);1250 (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 1251 1251 } 1252 1252 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Reporting_Host, &avp_x) ); … … 1254 1254 CHECK_FCT( fd_msg_avp_hdr ( avp_x, &ahdr ) ); 1255 1255 fd_log_debug("[auth.rgwx] Error-Reporting-Host: '%.*s'", 1256 ahdr->avp_value->os.len, ahdr->avp_value->os.data);1256 (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 1257 1257 } 1258 1258 CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Failed_AVP, &avp_x) ); … … 1457 1457 (ahdr->avp_value->u32 == 1) ? "AUTHENTICATE_ONLY" : 1458 1458 ((ahdr->avp_value->u32 == 2) ? "AUTHORIZE_ONLY" : "???"), 1459 oh->avp_value->os.len, oh->avp_value->os.data,1460 sidlen, sid);1459 (int)oh->avp_value->os.len, oh->avp_value->os.data, 1460 (int)sidlen, sid); 1461 1461 } 1462 1462 break; … … 1618 1618 /* This is not translatable to RADIUS */ 1619 1619 fd_log_debug("[auth.rgwx] Received Diameter answer with non-translatable NAS-Filter-Rule AVP from '%.*s' (session: '%.*s'), ignoring.", 1620 oh->avp_value->os.len, oh->avp_value->os.data,1621 sidlen, sid);1620 (int)oh->avp_value->os.len, oh->avp_value->os.data, 1621 (int)sidlen, sid); 1622 1622 handled = 0; 1623 1623 break; … … 1651 1651 /* This is not translatable to RADIUS */ 1652 1652 fd_log_debug("[auth.rgwx] Received Diameter answer with non-translatable QoS-Filter-Rule AVP from '%.*s' (session: '%.*s'), ignoring.", 1653 oh->avp_value->os.len, oh->avp_value->os.data,1654 sidlen, sid);1653 (int)oh->avp_value->os.len, oh->avp_value->os.data, 1654 (int)sidlen, sid); 1655 1655 handled = 0; 1656 1656 break; … … 1859 1859 1860 1860 if (ahdr->avp_value->os.len != 64) { 1861 TRACE_DEBUG(INFO, "Received EAP-Master-Session-Key attribute with length % d != 64.", ahdr->avp_value->os.len)1861 TRACE_DEBUG(INFO, "Received EAP-Master-Session-Key attribute with length %zd != 64.", ahdr->avp_value->os.len) 1862 1862 } 1863 1863 -
extensions/app_radgw/rgwx_sip.c
r996 r1027 366 366 if (attr->length>sizeof(struct radius_attr_hdr)) 367 367 { 368 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr->length- sizeof(struct radius_attr_hdr), (char *)(attr+1));368 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", (int)(attr->length- sizeof(struct radius_attr_hdr)), (char *)(attr+1)); 369 369 un = (os0_t)(attr + 1); 370 370 un_len =attr->length - sizeof(struct radius_attr_hdr); … … 802 802 (*rad_fw)->hdr->code = RADIUS_CODE_ACCESS_REJECT; 803 803 fd_log_debug("[sip.rgwx] Received Diameter answer with error code '%d', session %.*s, translating into Access-Reject", 804 ahdr->avp_value->u32, sidlen, sid);804 ahdr->avp_value->u32, (int)sidlen, sid); 805 805 return 0; 806 806 } -
extensions/app_sip/app_sip.c
r972 r1027 76 76 TRACE_DEBUG(FULL,"# mysql_server: *%s*",as_conf->mysql_server); 77 77 TRACE_DEBUG(FULL,"# mysql_port: *%d*",as_conf->mysql_port); 78 TRACE_DEBUG(FULL,"# mysql_port: *% d*",as_conf->mysql_prefix);78 TRACE_DEBUG(FULL,"# mysql_port: *%s*",as_conf->mysql_prefix); 79 79 TRACE_DEBUG(FULL,"***End of Diameter-SIP configuration extension***"); 80 80 } -
extensions/app_sip/app_sip.h
r972 r1027 136 136 }; 137 137 138 int app_sip_RTR_cb(struct rtrsipaor structure);139 int app_sip_PPR_cb(struct pprsipaor structure);138 int app_sip_RTR_cb(struct rtrsipaor *structure); 139 int app_sip_PPR_cb(struct pprsipaor *structure); 140 140 141 141 -
extensions/app_sip/pushprofile.c
r639 r1027 77 77 { 78 78 //We received something, we can send an PPR 79 app_sip_PPR_cb( pprsip);79 app_sip_PPR_cb(&pprsip); 80 80 } 81 81 } … … 92 92 } 93 93 //Called to send a PPR 94 int app_sip_PPR_cb(struct pprsipaor structure)94 int app_sip_PPR_cb(struct pprsipaor *structure) 95 95 { 96 96 /* -
extensions/app_sip/registrationtermination.c
r924 r1027 75 75 { 76 76 //We received something, we can send an RTR 77 app_sip_RTR_cb( rtrsip);77 app_sip_RTR_cb(&rtrsip); 78 78 } 79 79 } … … 88 88 } 89 89 //Called to send a RTR 90 int app_sip_RTR_cb(struct rtrsipaor structure)90 int app_sip_RTR_cb(struct rtrsipaor *structure) 91 91 { 92 92 TRACE_ENTRY("%p", structure); … … 102 102 103 103 //We must check that we have all needed value in structure 104 if(structure .username[0]!='\0')104 if(structure->username[0]!='\0') 105 105 got_username=1; 106 106 107 if(structure .sip_aor1[0]!='\0')107 if(structure->sip_aor1[0]!='\0') 108 108 { 109 109 num_aor++; 110 if(structure .sip_aor2[0]!='\0')110 if(structure->sip_aor2[0]!='\0') 111 111 { 112 112 num_aor++; 113 if(structure .sip_aor3[0]!='\0')113 if(structure->sip_aor3[0]!='\0') 114 114 num_aor++; 115 115 } 116 116 } 117 117 118 if(structure .strreason!='\0')118 if(structure->strreason!='\0') 119 119 got_streason=1; 120 120 … … 128 128 return EINVAL; 129 129 } 130 if(structure .reason<0)130 if(structure->reason<0) 131 131 { 132 132 //We must have a least a SIP_AOR or a Username … … 135 135 } 136 136 137 if(structure .desthost[0]=='\0')137 if(structure->desthost[0]=='\0') 138 138 { 139 139 //We must have a least a SIP_AOR or a Username … … 173 173 { 174 174 CHECK_FCT( fd_msg_avp_new ( sip_dict.Destination_Host, 0, &avp ) ); 175 value.os.data=(unsigned char *)structure .desthost;176 value.os.len=(size_t)strlen(structure .desthost);175 value.os.data=(unsigned char *)structure->desthost; 176 value.os.len=(size_t)strlen(structure->desthost); 177 177 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 178 178 CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) ); … … 186 186 //Reason Code 187 187 CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_Reason_Code, 0, &avp ) ); 188 value.i32=structure .reason;188 value.i32=structure->reason; 189 189 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 190 190 CHECK_FCT( fd_msg_avp_add( groupedavp, MSG_BRW_LAST_CHILD, avp ) ); … … 194 194 //Reason Info 195 195 CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_Reason_Info, 0, &avp ) ); 196 value.os.data=(unsigned char *)structure .strreason;197 value.os.len=(size_t)strlen(structure .strreason);196 value.os.data=(unsigned char *)structure->strreason; 197 value.os.len=(size_t)strlen(structure->strreason); 198 198 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 199 199 CHECK_FCT( fd_msg_avp_add( groupedavp, MSG_BRW_LAST_CHILD, avp ) ); … … 209 209 { 210 210 CHECK_FCT( fd_msg_avp_new ( sip_dict.User_Name, 0, &avp ) ); 211 value.os.data=(unsigned char *)structure .username;212 value.os.len=(size_t)strlen(structure .username);211 value.os.data=(unsigned char *)structure->username; 212 value.os.len=(size_t)strlen(structure->username); 213 213 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 214 214 CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) ); … … 221 221 { 222 222 CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_AOR, 0, &avp ) ); 223 value.os.data=(unsigned char *)structure .sip_aor1;224 value.os.len=(size_t)strlen(structure .sip_aor1);223 value.os.data=(unsigned char *)structure->sip_aor1; 224 value.os.len=(size_t)strlen(structure->sip_aor1); 225 225 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 226 226 CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) ); … … 228 228 { 229 229 CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_AOR, 0, &avp ) ); 230 value.os.data=(unsigned char *)structure .sip_aor2;231 value.os.len=(size_t)strlen(structure .sip_aor2);230 value.os.data=(unsigned char *)structure->sip_aor2; 231 value.os.len=(size_t)strlen(structure->sip_aor2); 232 232 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 233 233 CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) ); … … 235 235 { 236 236 CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_AOR, 0, &avp ) ); 237 value.os.data=(unsigned char *)structure .sip_aor3;238 value.os.len=(size_t)strlen(structure .sip_aor3);237 value.os.data=(unsigned char *)structure->sip_aor3; 238 value.os.len=(size_t)strlen(structure->sip_aor3); 239 239 CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) ); 240 240 CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) ); -
extensions/rt_ereg/rtereg.c
r741 r1027 61 61 struct fd_list * c; 62 62 63 TRACE_DEBUG(ANNOYING, "Attempt pattern matching of '%.*s' with rule '%s'", len, value, r->pattern);63 TRACE_DEBUG(ANNOYING, "Attempt pattern matching of '%.*s' with rule '%s'", (int)len, value, r->pattern); 64 64 65 65 #ifdef HAVE_REG_STARTEND … … 107 107 TRACE_DEBUG(FULL, "[rt_ereg] Match: '%s' to value '%.*s' => '%s' += %d", 108 108 r->pattern, 109 len,109 (int)len, 110 110 value, 111 111 r->server, -
extensions/rt_redirect/redir_fwd.c
r1019 r1027 122 122 &id, &len, &secure, &port, &l4, &proto), 123 123 { 124 TRACE_DEBUG(INFO, "Received an invalid Redirect-Host AVP value ('%.*s'), ignored", ahdr->avp_value->os.len, ahdr->avp_value->os.data);124 TRACE_DEBUG(INFO, "Received an invalid Redirect-Host AVP value ('%.*s'), ignored", (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 125 125 break; 126 126 } ); … … 128 128 /* Now check if the transport & protocol are supported */ 129 129 if (proto && (proto != 'd')) { 130 TRACE_DEBUG(FULL, "Ignored unsupported non-Diameter Redirect-Host AVP (%.*s)", ahdr->avp_value->os.len, ahdr->avp_value->os.data);130 TRACE_DEBUG(FULL, "Ignored unsupported non-Diameter Redirect-Host AVP (%.*s)", (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 131 131 free(id); 132 132 break; 133 133 } 134 134 if (l4 && (l4 == IPPROTO_UDP)) { 135 TRACE_DEBUG(FULL, "Ignored unsupported UDP Redirect-Host AVP (%.*s)", ahdr->avp_value->os.len, ahdr->avp_value->os.data);135 TRACE_DEBUG(FULL, "Ignored unsupported UDP Redirect-Host AVP (%.*s)", (int)ahdr->avp_value->os.len, ahdr->avp_value->os.data); 136 136 free(id); 137 137 break; -
extensions/rt_redirect/redir_out.c
r740 r1027 173 173 cmp = fd_os_almostcasesrch(cand->diamid, cand->diamidlen, e->data.host.s, e->data.host.l, NULL); 174 174 if (!cmp) { 175 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (previous ALL_HOST Redirect originated from this peer)", msg, cand->diamidlen, cand->diamid, FD_SCORE_SENT_REDIRECT);175 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (previous ALL_HOST Redirect originated from this peer)", msg, (int)cand->diamidlen, cand->diamid, FD_SCORE_SENT_REDIRECT); 176 176 cand->score += FD_SCORE_SENT_REDIRECT; 177 177 c_oh = cand; … … 182 182 cmp = fd_os_cmp(cand->diamid, cand->diamidlen, e->from.s, e->from.l); 183 183 if (!cmp) { 184 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (previous Redirect received from this peer)", msg, cand->diamidlen, cand->diamid, FD_SCORE_SENT_REDIRECT);184 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (previous Redirect received from this peer)", msg, (int)cand->diamidlen, cand->diamid, FD_SCORE_SENT_REDIRECT); 185 185 cand->score += FD_SCORE_SENT_REDIRECT; 186 186 } … … 206 206 207 207 if (cmp == 0) { 208 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (rule t:%d @%p)", msg, cand->diamidlen, cand->diamid, redirects_usages[e->type].score, e->type, e);208 TRACE_DEBUG(FULL, "Redirect msg %p: peer '%.*s' += %d (rule t:%d @%p)", msg, (int)cand->diamidlen, cand->diamid, redirects_usages[e->type].score, e->type, e); 209 209 cand->score += redirects_usages[e->type].score; 210 210 break; -
include/freeDiameter/libfdproto.h
r1026 r1027 84 84 #endif /* DEBUG */ 85 85 86 #ifdef SWIG 87 #define _ATTRIBUTE_PRINTFLIKE_(_f,_v) 88 #else 89 #define _ATTRIBUTE_PRINTFLIKE_(_f,_v) __attribute__ ((format (printf, _f, _v))) 90 #endif /* SWIG */ 86 91 87 92 /*============================================================*/ … … 128 133 * None. 129 134 */ 130 void fd_log ( int, const char *, ... ) _ _attribute__ ((format (printf, 2, 3)));135 void fd_log ( int, const char *, ... ) _ATTRIBUTE_PRINTFLIKE_(2,3); 131 136 #define fd_log_debug(format,args...) fd_log(FD_LOG_DEBUG, format, ## args) 132 137 #define fd_log_notice(format,args...) fd_log(FD_LOG_NOTICE, format, ## args) … … 784 789 785 790 if (th_ret == PTHREAD_CANCELED) { 786 TRACE_DEBUG(ANNOYING, "The thread %p was canceled", *th);791 TRACE_DEBUG(ANNOYING, "The thread %p was canceled", (void *)*th); 787 792 } else { 788 TRACE_DEBUG(CALL, "The thread %p returned %p", *th, th_ret);793 TRACE_DEBUG(CALL, "The thread %p returned %p", (void *)*th, th_ret); 789 794 } 790 795 … … 2337 2342 }; 2338 2343 #define FD_MSG_LOG_MAX FD_MSG_LOG_TIMING 2339 void fd_msg_log( enum fd_msg_log_cause cause, struct msg * msg, const char * prefix_format, ... ) _ _attribute__ ((format (printf, 3, 4)));2344 void fd_msg_log( enum fd_msg_log_cause cause, struct msg * msg, const char * prefix_format, ... ) _ATTRIBUTE_PRINTFLIKE_(3,4); 2340 2345 2341 2346 /* configure the msg_log facility */ -
libfdcore/cnxctx.c
r999 r1027 513 513 int fd_cnx_getremoteeps(struct cnxctx * conn, struct fd_list * eps) 514 514 { 515 TRACE_ENTRY("%p %p %p", conn, eps);515 TRACE_ENTRY("%p %p", conn, eps); 516 516 CHECK_PARAMS(conn && eps); 517 517 … … 1210 1210 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%02hhx", serial[j]); 1211 1211 } 1212 fd_log_debug( buf);1212 fd_log_debug("%s", buf); 1213 1213 } 1214 1214 -
libfdcore/config.c
r1021 r1027 226 226 #endif /* GNUTLS_VERSION_300 */ 227 227 228 #ifndef GNUTLS_VERSION_300 229 # pragma GCC diagnostic ignored "-Wdeprecated-declarations" 230 #endif /* !GNUTLS_VERSION_300 */ 228 231 /* Parse the configuration file (using the yacc parser) */ 229 232 int fd_conf_parse() … … 474 477 unsigned int verify; 475 478 time_t now; 476 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"477 479 GNUTLS_TRACE( gnutls_certificate_get_x509_cas (fd_g_config->cnf_sec_data.credentials, &CA_list, (unsigned int *) &CA_list_length) ); 478 480 GNUTLS_TRACE( gnutls_certificate_get_x509_crls (fd_g_config->cnf_sec_data.credentials, &CRL_list, (unsigned int *) &CRL_list_length) ); 479 #pragma GCC diagnostic warning "-Wdeprecated-declarations"480 481 CHECK_GNUTLS_DO( gnutls_x509_crt_list_verify(certs, cert_max, CA_list, CA_list_length, CRL_list, CRL_list_length, 0, &verify), 481 482 { … … 597 598 return 0; 598 599 } 600 #ifndef GNUTLS_VERSION_300 601 # pragma GCC diagnostic pop "-Wdeprecated-declarations" 602 #endif /* !GNUTLS_VERSION_300 */ 599 603 600 604 -
libfdcore/core.c
r994 r1027 38 38 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 39 39 #include <gcrypt.h> 40 #pragma GCC diagnostic warning"-Wdeprecated-declarations"40 #pragma GCC diagnostic pop "-Wdeprecated-declarations" 41 41 42 42 /* The static configuration structure */ -
libfdcore/p_ce.c
r1010 r1027 307 307 peer->p_hdr.info.pi_diamid, peer->p_hdr.info.pi_diamidlen, NULL)) { 308 308 TRACE_DEBUG(INFO, "Received a message with Origin-Host set to '%.*s' while expecting '%s'", 309 hdr->avp_value->os.len, hdr->avp_value->os.data, peer->p_hdr.info.pi_diamid);309 (int)hdr->avp_value->os.len, hdr->avp_value->os.data, peer->p_hdr.info.pi_diamid); 310 310 error->pei_errcode = "DIAMETER_AVP_NOT_ALLOWED"; 311 311 error->pei_message = "Your Origin-Host value does not match my configuration."; -
libfdcore/p_out.c
r1010 r1027 85 85 if (rcvon.tv_sec != 0 || rcvon.tv_nsec != 0) { 86 86 TS_DIFFERENCE( &delay, &rcvon, &senton); 87 fd_msg_log( FD_MSG_LOG_TIMING, cpy_for_logs_only, "Forwarded in % d.%06.6d sec",delay.tv_sec, delay.tv_nsec/1000);87 fd_msg_log( FD_MSG_LOG_TIMING, cpy_for_logs_only, "Forwarded in %ld.%6.6ld sec", (long)delay.tv_sec, delay.tv_nsec/1000); 88 88 } else { /* We log the answer time only for answers generated locally */ 89 89 if (!msg_is_a_req) { … … 94 94 (void) fd_msg_ts_get_recv(req, &reqrcvon); 95 95 TS_DIFFERENCE( &delay, &reqrcvon, &senton); 96 fd_msg_log( FD_MSG_LOG_TIMING, cpy_for_logs_only, "Answered in % d.%06.6d sec",delay.tv_sec, delay.tv_nsec/1000);96 fd_msg_log( FD_MSG_LOG_TIMING, cpy_for_logs_only, "Answered in %ld.%6.6ld sec", (long)delay.tv_sec, delay.tv_nsec/1000); 97 97 } 98 98 } -
libfdcore/p_psm.c
r1010 r1027 538 538 (void) fd_msg_ts_get_sent(req, &reqsent); 539 539 TS_DIFFERENCE( &delay, &reqsent, &rcvon ); 540 fd_msg_log( FD_MSG_LOG_TIMING, msg, "Answer received in % d.%06.6d sec.",delay.tv_sec, delay.tv_nsec / 1000 );540 fd_msg_log( FD_MSG_LOG_TIMING, msg, "Answer received in %ld.%6.6ld sec.", (long)delay.tv_sec, delay.tv_nsec / 1000 ); 541 541 } 542 542 } else { -
libfdcore/peers.c
r1010 r1027 424 424 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\t['%s' %u]", peer->p_hdr.info.runtime.pir_prodname, peer->p_hdr.info.runtime.pir_firmrev); 425 425 } 426 fd_log_debug( buf);426 fd_log_debug("%s", buf); 427 427 if (details > FULL) { 428 428 /* Dump all info */ 429 429 fd_log_debug("\tEntry origin : %s", peer->p_dbgorig?: "not set"); 430 fd_log_debug("\tConfig flags : %s%s%s %s%s - %s%s%s",431 peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_DEFAULT ? " " :432 (peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_IP ? "IP ." : "IPv6."),433 peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_DEFAULT ? " " :434 (peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_TCP ? "TCP ." : "SCTP."),435 peer->p_hdr.info.config.pic_flags.alg ? "PrefTCP ." : "",436 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_NONE ? "NoTLSok" :" ",437 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_TLS_OLD ? "OldTLS" :" ",438 peer->p_hdr.info.config.pic_flags.exp ? "Expire ." : "",439 peer->p_hdr.info.config.pic_flags.persist ? "Persist ." : ""430 fd_log_debug("\tConfig flags : %s%s%s - %s%s - %s%s", 431 peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_DEFAULT ? "." : 432 (peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_IP ? "IP" : "IPv6"), 433 peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_DEFAULT ? "." : 434 (peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_TCP ? "TCP" : "SCTP"), 435 peer->p_hdr.info.config.pic_flags.alg ? "PrefTCP" : ".", 436 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_NONE ? "NoTLSok" :".", 437 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_TLS_OLD ? "OldTLS" :".", 438 peer->p_hdr.info.config.pic_flags.exp ? "Expire" : ".", 439 peer->p_hdr.info.config.pic_flags.persist ? "Persist" : "." 440 440 ); 441 441 fd_log_debug("\tLifetime : %d sec", peer->p_hdr.info.config.pic_lft); -
libfdcore/routing_dispatch.c
r1014 r1027 362 362 363 363 TRACE_DEBUG(FULL, "Processed Decorated NAI : '%.*s' became '%.*s' (%.*s)", 364 un->os.len, old_un,365 at_idx, un->os.data,366 dr->os.len, dr->os.data);364 (int)un->os.len, old_un, 365 (int)at_idx, un->os.data, 366 (int)dr->os.len, dr->os.data); 367 367 368 368 un->os.len = at_idx; -
libfdcore/sctp.c
r974 r1027 1037 1037 mhdr.msg_controllen = sizeof(anci); 1038 1038 1039 TRACE_DEBUG(FULL, "Sending % db data on stream %hu of socket %d", len, strid, conn->cc_socket);1039 TRACE_DEBUG(FULL, "Sending %zdb data on stream %hu of socket %d", len, strid, conn->cc_socket); 1040 1040 again: 1041 1041 ret = sendmsg(conn->cc_socket, &mhdr, 0); … … 1135 1135 union sctp_notification * notif = (union sctp_notification *) data; 1136 1136 1137 TRACE_DEBUG(FULL, "Received % db data of notification on socket %d", datasize, conn->cc_socket);1137 TRACE_DEBUG(FULL, "Received %zdb data of notification on socket %d", datasize, conn->cc_socket); 1138 1138 1139 1139 switch (notif->sn_header.sn_type) { … … 1233 1233 *strid = sndrcv->sinfo_stream; 1234 1234 } 1235 TRACE_DEBUG(FULL, "Received % db data on socket %d, stream %hu", datasize, conn->cc_socket, *strid);1235 TRACE_DEBUG(FULL, "Received %zdb data on socket %d, stream %hu", datasize, conn->cc_socket, *strid); 1236 1236 } else { 1237 TRACE_DEBUG(FULL, "Received % db data on socket %d (stream ignored)", datasize, conn->cc_socket);1237 TRACE_DEBUG(FULL, "Received %zdb data on socket %d (stream ignored)", datasize, conn->cc_socket); 1238 1238 } 1239 1239 -
libfdcore/sctps.c
r1021 r1027 95 95 CHECK_FCT_DO(fd_event_send(conn->cc_sctps_data.array[strid].raw_recv, event, bufsz, buf), goto fatal ); 96 96 } else { 97 TRACE_DEBUG(INFO, "Received packet (% d bytes) on out-of-range stream #%d from %s, discarded.", bufsz, strid, conn->cc_remid);97 TRACE_DEBUG(INFO, "Received packet (%zd bytes) on out-of-range stream #%d from %s, discarded.", bufsz, strid, conn->cc_remid); 98 98 free(buf); 99 99 } … … 230 230 231 231 /* Set the parameters of a session to use the appropriate fifo and stream information */ 232 #ifndef GNUTLS_VERSION_300 233 # pragma GCC diagnostic ignored "-Wdeprecated-declarations" 234 #endif /* !GNUTLS_VERSION_300 */ 232 235 static void set_sess_transport(gnutls_session_t session, struct sctps_ctx *ctx) 233 236 { … … 238 241 #ifndef GNUTLS_VERSION_300 239 242 /* starting version 2.12, this call is not needed */ 240 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"241 243 GNUTLS_TRACE( gnutls_transport_set_lowat( session, 0 ) ); 242 #pragma GCC diagnostic warning "-Wdeprecated-declarations"243 244 #endif /* GNUTLS_VERSION_300 */ 244 245 … … 249 250 return; 250 251 } 252 #ifndef GNUTLS_VERSION_300 253 # pragma GCC diagnostic pop "-Wdeprecated-declarations" 254 #endif /* !GNUTLS_VERSION_300 */ 251 255 252 256 /*************************************************************/ -
libfdproto/dictionary.c
r979 r1027 35 35 36 36 #include "fdproto-internal.h" 37 #include <inttypes.h> 37 38 38 39 /* Names of the base types */ … … 1179 1180 n = enumval->enum_value.os.len; 1180 1181 for (i=0; i < n; i++) 1181 fd_log_debug("0x%02 .2X/'%c' ", enumval->enum_value.os.data[i], ASCII(enumval->enum_value.os.data[i]));1182 fd_log_debug("0x%02hhX/'%c' ", enumval->enum_value.os.data[i], ASCII(enumval->enum_value.os.data[i])); 1182 1183 if (n == LEN_MAX) 1183 1184 fd_log_debug("..."); … … 1190 1191 1191 1192 case AVP_TYPE_INTEGER64: 1192 fd_log_debug( "%lli", enumval->enum_value.i64);1193 fd_log_debug(PRId64, enumval->enum_value.i64); 1193 1194 break; 1194 1195 … … 1198 1199 1199 1200 case AVP_TYPE_UNSIGNED64: 1200 fd_log_debug( "%llu", enumval->enum_value.u64);1201 fd_log_debug(PRIu64, enumval->enum_value.u64); 1201 1202 break; 1202 1203 -
libfdproto/log.c
r990 r1027 166 166 fd_log_debug("(Thread '%s' renamed to '%s')", (char *)val, name?:"(nil)"); 167 167 } else { 168 fd_log_debug("(Thread %p named '%s')", pthread_self(), name?:"(nil)");168 fd_log_debug("(Thread %p named '%s')", (void *)pthread_self(), name?:"(nil)"); 169 169 } 170 170 } -
libfdproto/messages.c
r1014 r1027 1517 1517 static int bufferize_msg(unsigned char * buffer, size_t buflen, size_t * offset, struct msg * msg) 1518 1518 { 1519 TRACE_ENTRY("%p % d %p %p", buffer, buflen, offset, msg);1519 TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, msg); 1520 1520 1521 1521 if ((buflen - *offset) < GETMSGHDRSZ()) … … 1552 1552 struct dict_avp_data dictdata; 1553 1553 1554 TRACE_ENTRY("%p % d %p %p", buffer, buflen, offset, avp);1554 TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, avp); 1555 1555 1556 1556 if ((buflen - *offset) < avp->avp_public.avp_len) … … 1649 1649 struct fd_list * avpch; 1650 1650 1651 TRACE_ENTRY("%p % d %p %p", buffer, buflen, offset, list);1651 TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, list); 1652 1652 1653 1653 for (avpch = list->next; avpch != list; avpch = avpch->next) { … … 1712 1712 size_t offset = 0; 1713 1713 1714 TRACE_ENTRY("%p % d %p", buf, buflen, head);1714 TRACE_ENTRY("%p %zd %p", buf, buflen, head); 1715 1715 1716 1716 while (offset < buflen) { … … 1718 1718 1719 1719 if (buflen - offset < AVPHDRSZ_NOVEND) { 1720 TRACE_DEBUG(INFO, "truncated buffer: remaining only % d bytes", buflen - offset);1720 TRACE_DEBUG(INFO, "truncated buffer: remaining only %zd bytes", buflen - offset); 1721 1721 return EBADMSG; 1722 1722 } … … 1736 1736 if (avp->avp_public.avp_flags & AVP_FLAG_VENDOR) { 1737 1737 if (buflen - offset < 4) { 1738 TRACE_DEBUG(INFO, "truncated buffer: remaining only % d bytes for vendor and data", buflen - offset);1738 TRACE_DEBUG(INFO, "truncated buffer: remaining only %zd bytes for vendor and data", buflen - offset); 1739 1739 free(avp); 1740 1740 return EBADMSG; … … 1747 1747 if ( (avp->avp_public.avp_len > GETAVPHDRSZ(avp->avp_public.avp_flags)) 1748 1748 && (buflen - offset < avp->avp_public.avp_len - GETAVPHDRSZ(avp->avp_public.avp_flags))) { 1749 TRACE_DEBUG(INFO, "truncated buffer: remaining only % d bytes for data, and avp data size is %d",1749 TRACE_DEBUG(INFO, "truncated buffer: remaining only %zd bytes for data, and avp data size is %d", 1750 1750 buflen - offset, 1751 1751 avp->avp_public.avp_len - GETAVPHDRSZ(avp->avp_public.avp_flags)); … … 1775 1775 unsigned char * buf; 1776 1776 1777 TRACE_ENTRY("%p % d %p", buffer, buflen, msg);1777 TRACE_ENTRY("%p %zd %p", buffer, buflen, msg); 1778 1778 1779 1779 CHECK_PARAMS( buffer && *buffer && msg && (buflen >= GETMSGHDRSZ()) ); … … 1789 1789 msglen = ntohl(*(uint32_t *)buf) & 0x00ffffff; 1790 1790 if ( buflen < msglen ) { 1791 TRACE_DEBUG(INFO, "Truncated message (% d / %d)", buflen, msglen );1791 TRACE_DEBUG(INFO, "Truncated message (%zd / %d)", buflen, msglen ); 1792 1792 free(buf); 1793 1793 return EBADMSG; -
libfdproto/ostr.c
r1022 r1027 170 170 } 171 171 /* otherwise, we just display the hex code */ 172 TRACE_DEBUG(INFO, "Invalid character (0x%hhX) at offset %d in DiameterIdentity '%.*s'", os[i], i+1, ossz, os);172 TRACE_DEBUG(INFO, "Invalid character (0x%hhX) at offset %d in DiameterIdentity '%.*s'", os[i], i+1, (int)ossz, os); 173 173 return 0; 174 174 disp: 175 TRACE_DEBUG(INFO, "Invalid character '%.*s' at offset %d in DiameterIdentity '%.*s'", nb, os + i, i+1, ossz, os);175 TRACE_DEBUG(INFO, "Invalid character '%.*s' at offset %d in DiameterIdentity '%.*s'", nb, os + i, i+1, (int)ossz, os); 176 176 return 0; 177 177 } … … 291 291 /* Remaining of URI marker */ 292 292 if (memcmp( uri + offset, "://", 3)) { 293 TRACE_DEBUG(INFO, "Invalid DiameterURI prefix: got '%.*s', expected 'aaa://' or 'aaas://'", offset + 3, uri);293 TRACE_DEBUG(INFO, "Invalid DiameterURI prefix: got '%.*s', expected 'aaa://' or 'aaas://'", (int)offset + 3, uri); 294 294 return EINVAL; 295 295 } … … 380 380 } 381 381 382 TRACE_DEBUG(INFO, "Invalid DiameterURI: transport string is not recognized ('%.*s').", urisz - offset, uri + offset);382 TRACE_DEBUG(INFO, "Invalid DiameterURI: transport string is not recognized ('%.*s').", (int)(urisz - offset), uri + offset); 383 383 return EINVAL; 384 384 } … … 417 417 } 418 418 419 TRACE_DEBUG(INFO, "Invalid DiameterURI: protocol string is not recognized ('%.*s').", urisz - offset, uri + offset);419 TRACE_DEBUG(INFO, "Invalid DiameterURI: protocol string is not recognized ('%.*s').", (int)(urisz - offset), uri + offset); 420 420 return EINVAL; 421 421 … … 425 425 return 0; /* Finished */ 426 426 427 TRACE_DEBUG(INFO, "Invalid DiameterURI: final part of string is not recognized ('%.*s').", urisz - offset, uri + offset);427 TRACE_DEBUG(INFO, "Invalid DiameterURI: final part of string is not recognized ('%.*s').", (int)(urisz - offset), uri + offset); 428 428 return EINVAL; 429 429 } -
libfdproto/sessions.c
r979 r1027 523 523 int ret; 524 524 525 TRACE_ENTRY("%p % d %p %p", sid, len, session, new);525 TRACE_ENTRY("%p %zd %p %p", sid, len, session, new); 526 526 CHECK_PARAMS( sid && session ); 527 527 528 528 if (!fd_os_is_valid_os0(sid,len)) { 529 TRACE_DEBUG(INFO, "Warning: a Session-Id value contains \\0 chars... (len:%zd, begin:'%.*s') => Debug messages may be truncated.", len, len, sid);529 TRACE_DEBUG(INFO, "Warning: a Session-Id value contains \\0 chars... (len:%zd, begin:'%.*s') => Debug messages may be truncated.", len, (int)len, sid); 530 530 } 531 531
Note: See TracChangeset
for help on using the changeset viewer.