Navigation


Changeset 1027:0117a7746b21 in freeDiameter


Ignore:
Timestamp:
Apr 15, 2013, 4:17:07 PM (11 years ago)
Author:
Sebastien Decugis <sdecugis@freediameter.net>
Branch:
default
Phase:
public
Message:

Fix a number of errors and warnings introduced/highlighted by recent commits

Files:
43 edited

Legend:

Unmodified
Added
Removed
  • extensions/acl_wl/aw_tree.c

    r974 r1027  
    129129        char * s = NULL;
    130130       
    131         TRACE_ENTRY("%p %d %x", str, len, flags);
     131        TRACE_ENTRY("%p %zd %x", str, len, flags);
    132132       
    133133        if (str) {
  • extensions/app_diameap/diameap_eap.c

    r610 r1027  
    5757
    5858static void diameap_ba_policyupdate(struct eap_state_machine * eap_sm,
    59                 struct eap_packet eapPacket)
     59                struct eap_packet *eapPacket)
    6060{
    6161        TRACE_ENTRY("%p %p",eap_sm, eapPacket);
     
    6666                u32 vendor;
    6767                eap_type type;
    68                 u8 *data = (u8 *) eapPacket.data;
     68                u8 *data = (u8 *) eapPacket->data;
    6969                data += 5;
    7070                id = 5;
    71                 while (id < eapPacket.length)
     71                while (id < eapPacket->length)
    7272                {
    7373                        vendor = VENDOR_IETF;
     
    243243static boolean diameap_ba_policydopickup(eap_type type)
    244244{
    245         TRACE_ENTRY("%p",type);
     245        TRACE_ENTRY("%d",type);
    246246        if (type == TYPE_IDENTITY)
    247247        {
     
    331331                        TRACE_DEBUG(FULL+1,"%s[EAP Protocol] New EAP Response received",DIAMEAP_EXTENSION)
    332332                        ;
    333                         diameap_eap_dump(FULL + 1, eap_i->aaaEapRespData);
     333                        diameap_eap_dump(FULL + 1, &eap_i->aaaEapRespData);
    334334                        if ((eap_sm->rxResp == TRUE) && (eap_sm->respId
    335335                                        == eap_sm->currentId) && ((eap_sm->respMethod
     
    365365                        TRACE_DEBUG(FULL+1,"%s[EAP Protocol] New EAP packet request created.",DIAMEAP_EXTENSION)
    366366                        ;
    367                         diameap_eap_dump(FULL, eap_i->aaaEapReqData);
     367                        diameap_eap_dump(FULL, &eap_i->aaaEapReqData);
    368368                        eap_i->aaaEapResp = FALSE;
    369369                        eap_i->aaaEapReq = TRUE;
     
    516516                                }
    517517                        }
    518                         diameap_ba_policyupdate(eap_sm, eap_i->aaaEapRespData);
     518                        diameap_ba_policyupdate(eap_sm, &eap_i->aaaEapRespData);
    519519                        eap_sm->eap_state = EAP_SELECT_ACTION;
    520520                        break;
  • extensions/app_diameap/diameap_eappacket.c

    r974 r1027  
    3939#include "libdiameap.h"
    4040
    41 int diameap_eap_get_code(struct eap_packet eappacket, eap_code * eapcode)
     41int diameap_eap_get_code(struct eap_packet *eappacket, eap_code * eapcode)
    4242{
    4343        TRACE_ENTRY("%p %p",eappacket,eapcode);
    4444
    45         if (eappacket.data == NULL)
     45        if (eappacket->data == NULL)
    4646        {
    4747                *eapcode = ERROR;
     
    4949                return EINVAL;
    5050        }
    51         if (eappacket.length < 1)
     51        if (eappacket->length < 1)
    5252        {
    5353                *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
     61int diameap_eap_get_identifier(struct eap_packet *eappacket, u8 * identifier)
    6262{
    6363        TRACE_ENTRY("%p %p",eappacket,identifier);
    6464        *identifier = 0;
    65         if (eappacket.data == NULL)
     65        if (eappacket->data == NULL)
    6666        {
    6767                TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Identifier field to return.",DIAMEAP_EXTENSION);
    6868                return EINVAL;
    6969        }
    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
     79int diameap_eap_get_length(struct eap_packet *eappacket, u16 *length)
    8080{
    8181        TRACE_ENTRY("%p %p",eappacket,length);
    8282        *length = 0;
    8383
    84         if (eappacket.data == NULL)
     84        if (eappacket->data == NULL)
    8585        {
    8686                TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Length field to return.",DIAMEAP_EXTENSION);
    8787                return EINVAL;
    8888        }
    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
     98int diameap_eap_get_packetlength(struct eap_packet *eappacket, u16 *length)
    9999{
    100100        TRACE_ENTRY("%p %p",eappacket,length);
    101         if (eappacket.data == NULL)
     101        if (eappacket->data == NULL)
    102102        {
    103103                TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no Length field to return.",DIAMEAP_EXTENSION);
    104104                return EINVAL;
    105105        }
    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
     110int diameap_eap_get_type(struct eap_packet *eappacket, eap_type * eaptype)
    111111{
    112112        TRACE_ENTRY("%p %p",eappacket,eaptype);
    113113        *eaptype = 0;
    114114
    115         if (eappacket.data == NULL)
     115        if (eappacket->data == NULL)
    116116        {
    117117                TRACE_DEBUG(INFO,"%sEmpty data in EAP packet: no EAP Type field to return.",DIAMEAP_EXTENSION);
    118118                return EINVAL;
    119119        }
    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);
    126126        return 0;
    127127}
     
    129129boolean diameap_eap_check_code(eap_code code)
    130130{
    131         TRACE_ENTRY("%p",code);
     131        TRACE_ENTRY("%d",code);
    132132        if (code != EAP_REQUEST && code != EAP_RESPONSE && code != EAP_SUCCESS
    133133                        && code != EAP_FAILURE)
     
    139139}
    140140
    141 int diameap_eap_get_packetdata(struct eap_packet eappacket, u8 ** data,
     141int diameap_eap_get_packetdata(struct eap_packet *eappacket, u8 ** data,
    142142                int *len)
    143143{
    144144        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;
    150150                return 0;
    151151        }
    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);
    153153        *data = NULL;
    154154        *len = 0;
     
    156156}
    157157
    158 int diameap_eap_get_data(struct eap_packet eappacket, u8 ** data, int * len)
     158int diameap_eap_get_data(struct eap_packet *eappacket, u8 ** data, int * len)
    159159{
    160160        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;
    166166                return 0;
    167167        }
    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);
    169169        *data = NULL;
    170170        *len = 0;
     
    173173}
    174174
    175 void diameap_eap_dump(int level, struct eap_packet eappacket)
    176 {
    177         TRACE_ENTRY("%p %p",level,eappacket);
     175void diameap_eap_dump(int level, struct eap_packet *eappacket)
     176{
     177        TRACE_ENTRY("%d %p",level,eappacket);
    178178        if (!TRACE_BOOL(level))
    179179                return;
    180180
    181         if (eappacket.data == NULL)
     181        if (eappacket->data == NULL)
    182182                return;
    183         if (eappacket.length < 5)
     183        if (eappacket->length < 5)
    184184                return;
    185         if (eappacket.ulength < 5)
     185        if (eappacket->ulength < 5)
    186186                return;
    187187
     
    215215        CHECK_FCT_DO(diameap_eap_get_length(eappacket,&length),return);
    216216        fd_log_debug("\t -Length     : %d ", (unsigned int)length);
    217         if (eappacket.length > 4)
     217        if (eappacket->length > 4)
    218218        {
    219219                eap_type type;
     
    221221                fd_log_debug("\t -Type       : %d ", type);
    222222        }
    223         if (eappacket.length > 5)
     223        if (eappacket->length > 5)
    224224        {
    225225                char buf[1024];
    226226                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++)
    228228                {
    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));
    230230                }
    231                 if(i+1<eappacket.length)
     231                if(i+1<eappacket->length)
    232232                        snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "[...] (len=%d)",(unsigned int) length);
    233233                fd_log_debug("%s", buf);
     
    240240{
    241241
    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);
    243243
    244244        int length = 0;
  • extensions/app_diameap/diameap_eappacket.h

    r425 r1027  
    9797 */
    9898
    99 int diameap_eap_get_code(struct eap_packet eapPacket, eap_code * eapcode);
     99int diameap_eap_get_code(struct eap_packet *eapPacket, eap_code * eapcode);
    100100
    101101
     
    115115 */
    116116
    117 int diameap_eap_get_identifier(struct eap_packet eapPacket, u8 * identifier);
     117int diameap_eap_get_identifier(struct eap_packet *eapPacket, u8 * identifier);
    118118
    119119
     
    132132 */
    133133
    134 int diameap_eap_get_length(struct eap_packet eapPacket, u16 *length);
     134int diameap_eap_get_length(struct eap_packet *eapPacket, u16 *length);
    135135
    136136
     
    149149 */
    150150
    151 int diameap_eap_get_packetlength(struct eap_packet eapPacket, u16 *length);
     151int diameap_eap_get_packetlength(struct eap_packet *eapPacket, u16 *length);
    152152
    153153
     
    166166 */
    167167
    168 int diameap_eap_get_type(struct eap_packet eapPacket,eap_type * eaptype);
     168int diameap_eap_get_type(struct eap_packet *eapPacket,eap_type * eaptype);
    169169
    170170
     
    184184 */
    185185
    186 int diameap_eap_get_packetdata(struct eap_packet eapPacket, u8 ** data, int *len);
     186int diameap_eap_get_packetdata(struct eap_packet *eapPacket, u8 ** data, int *len);
    187187
    188188
     
    202202 */
    203203
    204 int diameap_eap_get_data(struct eap_packet eapPacket, u8 ** data, int * len);
     204int diameap_eap_get_data(struct eap_packet *eapPacket, u8 ** data, int * len);
    205205
    206206
     
    233233 */
    234234
    235 void diameap_eap_dump(int level, struct eap_packet eapPacket);
     235void diameap_eap_dump(int level, struct eap_packet *eapPacket);
    236236
    237237
  • extensions/app_diameap/diameap_mysql.c

    r577 r1027  
    108108}
    109109
    110 int diameap_authentication_get_attribs(struct eap_user user,
     110int diameap_authentication_get_attribs(struct eap_user *user,
    111111                struct fd_list * attribute_list)
    112112{
     
    131131                        query,
    132132                        "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);
    134134
    135135        CHECK_POSIX(pthread_mutex_lock( &db_cs_mutex ));
     
    169169}
    170170
    171 int diameap_authorization_get_attribs(struct eap_user user,
     171int diameap_authorization_get_attribs(struct eap_user *user,
    172172                struct fd_list * attribute_list)
    173173{
     
    192192                        query,
    193193                        "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);
    195195
    196196        CHECK_POSIX(pthread_mutex_lock( &db_cs_mutex ));
  • extensions/app_diameap/diameap_mysql.h

    r438 r1027  
    5757
    5858/* */
    59 int diameap_authentication_get_attribs(struct eap_user user,
     59int diameap_authentication_get_attribs(struct eap_user *user,
    6060                        struct fd_list * attribute_list);
    6161
    6262/* */
    63 int diameap_authorization_get_attribs(struct eap_user user,
     63int diameap_authorization_get_attribs(struct eap_user *user,
    6464                        struct fd_list * attribute_list);
    6565
  • extensions/app_diameap/diameap_plugins.c

    r974 r1027  
    4646                char * filename, char * conffile)
    4747{
    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);
    4949
    5050        /* Check the filename is valid */
     
    8383int diameap_plugin_get(u32 vendor, eap_type type, struct plugin ** getplugin)
    8484{
    85         TRACE_ENTRY("%p %p %p",vendor,type,getplugin);
     85        TRACE_ENTRY("%d %d %p",vendor,type,getplugin);
    8686        struct fd_list * pl;
    8787
     
    411411{
    412412
    413         TRACE_ENTRY("%p %p",vendor,type);
     413        TRACE_ENTRY("%d %d",vendor,type);
    414414        struct fd_list * pl;
    415415
  • extensions/app_diameap/diameap_server.c

    r639 r1027  
    342342
    343343static int diameap_parse_eap_resp(struct eap_state_machine * eap_sm,
    344                 struct eap_packet eappacket)
     344                struct eap_packet *eappacket)
    345345{
    346346        TRACE_ENTRY("%p %p",eap_sm, eappacket)
     
    352352        eap_sm->respVendorMethod = TYPE_NONE;
    353353
    354         if (eappacket.data == NULL)
     354        if (eappacket->data == NULL)
    355355        {
    356356                TRACE_DEBUG(INFO,"%s Empty EAP packet",DIAMEAP_EXTENSION);
     
    414414        if (eap_sm->respMethod == TYPE_EXPANDED_TYPES)
    415415        {
    416                 u8 *data = (u8 *) eappacket.data;
     416                u8 *data = (u8 *) eappacket->data;
    417417                //int len = 0;
    418418                //u32 respVendor, respVendorMethod;
     
    455455        eappacket->ulength = (u16) avpdata->avp_value->os.len;
    456456        eappacket->data = (u8 *) avpdata->avp_value->os.data;
    457         diameap_eap_get_packetlength(*eappacket, &eappacket->length);
     457        diameap_eap_get_packetlength(eappacket, &eappacket->length);
    458458        return 0;
    459459}
     
    477477                eap_i->aaaEapResp = TRUE;
    478478                u16 length;
    479                 diameap_eap_get_length(eap_i->aaaEapRespData, &length);
     479                diameap_eap_get_length(&eap_i->aaaEapRespData, &length);
    480480                if (length >= 4)
    481481                {
    482482                        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));
    484484
    485485                        if (code != EAP_RESPONSE)
     
    498498                        else
    499499                        {
    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));
    501501                                if (diameap_sm->eap_sm.rxResp == FALSE)
    502502                                {
     
    12551255                int *ret)
    12561256{
    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);
    12581258        if (avp_attributes == NULL)
    12591259        {
     
    12891289{
    12901290
    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);
    12921292
    12931293        if (auth_attributes == NULL)
     
    13251325                int *ret)
    13261326{
    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);
    13281328        if (ans_attributes == NULL)
    13291329        {
     
    16381638boolean is_operator(int format_type, char * operator)
    16391639{
    1640         TRACE_ENTRY("%p %p",format_type,operator);
     1640        TRACE_ENTRY("%d %p",format_type,operator);
    16411641        if ((format_type == DIAMEAP_STR) && (strcmp(operator, "==") == 0 || strcmp(
    16421642                        operator, "~=") == 0 || strcmp(operator, "!=") == 0))
     
    16531653union avp_value diameap_get_num(char * num, enum dict_avp_basetype datatype)
    16541654{
    1655         TRACE_ENTRY("%p %p",num,datatype);
     1655        TRACE_ENTRY("%p %d",num,datatype);
    16561656        union avp_value val;
    16571657        switch (datatype)
     
    16821682}
    16831683
    1684 boolean diameap_check(union avp_value A, char * B, char * operator,
     1684boolean diameap_check(union avp_value *A, char * B, char * operator,
    16851685                enum dict_avp_basetype datatype)
    16861686{
    1687         TRACE_ENTRY("%p %p %p %p",A,B,operator,datatype);
     1687        TRACE_ENTRY("%p %p %p %d",A,B,operator,datatype);
    16881688        if (((datatype == AVP_TYPE_OCTETSTRING) && (is_operator(DIAMEAP_STR,
    16891689                        operator) == TRUE)) || ((datatype != AVP_TYPE_OCTETSTRING)
     
    16971697                                        operator) == TRUE))
    16981698                        {
    1699                                 if (strcmp((char *)A.os.data, B) == 0)
     1699                                if (strcmp((char *)A->os.data, B) == 0)
    17001700                                        return TRUE;
    17011701                                else
     
    17101710                                {
    17111711                                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);
    17131713                                        break;
    17141714                                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);
    17161716                                        break;
    17171717                                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);
    17191719                                        break;
    17201720                                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);
    17221722                                        break;
    17231723                                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);
    17251725                                        break;
    17261726                                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);
    17281728                                        break;
    17291729                                default:
     
    17451745                                regex_t rule_regexp;
    17461746                                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)
    17481748                                {
    17491749                                        authorized = FALSE;
     
    17661766                                {
    17671767                                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);
    17691769                                        break;
    17701770                                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);
    17721772                                        break;
    17731773                                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);
    17751775                                        break;
    17761776                                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);
    17781778                                        break;
    17791779                                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);
    17811781                                        break;
    17821782                                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);
    17841784                                        break;
    17851785                                default:
     
    18001800                                {
    18011801                                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);
    18031803                                        break;
    18041804                                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);
    18061806                                        break;
    18071807                                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);
    18091809                                        break;
    18101810                                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);
    18121812                                        break;
    18131813                                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);
    18151815                                        break;
    18161816                                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);
    18181818                                        break;
    18191819                                default:
     
    18341834                                {
    18351835                                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);
    18371837                                        break;
    18381838                                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);
    18401840                                        break;
    18411841                                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);
    18431843                                        break;
    18441844                                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);
    18461846                                        break;
    18471847                                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);
    18491849                                        break;
    18501850                                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);
    18521852                                        break;
    18531853                                default:
     
    18681868                                {
    18691869                                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);
    18711871                                        break;
    18721872                                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);
    18741874                                        break;
    18751875                                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);
    18771877                                        break;
    18781878                                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);
    18801880                                        break;
    18811881                                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);
    18831883                                        break;
    18841884                                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);
    18861886                                        break;
    18871887                                default:
     
    18981898                                        operator) == TRUE))
    18991899                        {
    1900                                 if (strcmp((char *)A.os.data, B) != 0)
     1900                                if (strcmp((char *)A->os.data, B) != 0)
    19011901                                        return TRUE;
    19021902                                else
     
    19101910                                {
    19111911                                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);
    19131913                                        break;
    19141914                                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);
    19161916                                        break;
    19171917                                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);
    19191919                                        break;
    19201920                                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);
    19221922                                        break;
    19231923                                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);
    19251925                                        break;
    19261926                                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);
    19281928                                        break;
    19291929                                default:
     
    19921992}
    19931993
    1994 int diameap_answer_set_attribute_valueA(union avp_value A, int *tofree,
     1994int diameap_answer_set_attribute_valueA(union avp_value *A, int *tofree,
    19951995                enum dict_avp_basetype datatype, union avp_value * rval)
    19961996{
    1997         TRACE_ENTRY("%p %p %p %p",A,tofree,datatype,rval);
     1997        TRACE_ENTRY("%p %p %d %p",A,tofree,datatype,rval);
    19981998        if (datatype == AVP_TYPE_OCTETSTRING)
    19991999        {
    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;
    20032003                *tofree = 1;
    20042004        }
    20052005        else
    20062006        {
    2007                 *rval = A;
     2007                *rval = *A;
    20082008        }
    20092009        return 0;
     
    20122012                enum dict_avp_basetype datatype, union avp_value * rval)
    20132013{
    2014         TRACE_ENTRY("%p %p %p %p",B,tofree,datatype,rval);
     2014        TRACE_ENTRY("%p %p %d %p",B,tofree,datatype,rval);
    20152015        if (datatype == AVP_TYPE_OCTETSTRING)
    20162016        {
     
    20922092                        if (ret == 0)
    20932093                        {
    2094                                 checked = diameap_check(avp_attrib->value, auth_attrib->value,
     2094                                checked = diameap_check(&avp_attrib->value, auth_attrib->value,
    20952095                                                op, avpdata.avp_basetype);
    20962096                        }
     
    21192119                                                {
    21202120                                                        diameap_answer_set_attribute_valueA(
    2121                                                                         avp_attrib->value, &ans_attrib->tofree,
     2121                                                                        &avp_attrib->value, &ans_attrib->tofree,
    21222122                                                                        avpdata.avp_basetype, &ans_attrib->value);
    21232123                                                }
     
    21462146                                        if (toadd == 1)
    21472147                                        {
    2148                                                 diameap_answer_set_attribute_valueA(avp_attrib->value,
     2148                                                diameap_answer_set_attribute_valueA(&avp_attrib->value,
    21492149                                                                &ans_attrib->tofree, avpdata.avp_basetype,
    21502150                                                                &ans_attrib->value);
     
    21772177
    21782178static int diameap_policy_decision(struct diameap_state_machine * diameap_sm,
    2179                 struct diameap_eap_interface eap_i)
     2179                struct diameap_eap_interface *eap_i)
    21802180{
    21812181        TRACE_ENTRY("%p %p",diameap_sm,eap_i);
    21822182
    2183         if ((eap_i.aaaFail == TRUE) && (eap_i.aaaSuccess == TRUE))
     2183        if ((eap_i->aaaFail == TRUE) && (eap_i->aaaSuccess == TRUE))
    21842184        {
    21852185                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);
     
    21872187        }
    21882188
    2189         if (eap_i.aaaFail == TRUE)
     2189        if (eap_i->aaaFail == TRUE)
    21902190        {
    21912191                diameap_sm->result_code = 4001; /* DIAMETER_AUTHENTICATION_REJECTED 4001 */
     
    21952195        }
    21962196
    2197         if (eap_i.aaaSuccess == FALSE)
     2197        if (eap_i->aaaSuccess == FALSE)
    21982198        {
    21992199                diameap_sm->result_code = 1001; /* DIAMETER_MULTI_ROUND_AUTH 1001 */
     
    22012201        }
    22022202
    2203         if (eap_i.aaaSuccess == TRUE)
     2203        if (eap_i->aaaSuccess == TRUE)
    22042204        {
    22052205                if (diameap_sm->auth_request_val == AUTHORIZE_AUTHENTICATE)
     
    28742874
    28752875static 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)
    28772877{
    28782878        TRACE_ENTRY("%p %p",diameap_sm,ans);
     
    29072907        EAP_Max_Length = Framed_MTU - NAS_Port_Type_HeaderLength;
    29082908
    2909         if (eap_i.aaaEapReqData.length <= EAP_Max_Length)
     2909        if (eap_i->aaaEapReqData.length <= EAP_Max_Length)
    29102910        {
    29112911
     
    29132913                {
    29142914                        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;
    29172917                        CHECK_FCT(fd_msg_avp_setvalue(avp, &avp_val));
    29182918                        CHECK_FCT( fd_msg_avp_add( ans, MSG_BRW_LAST_CHILD, avp ) );
     
    29252925
    29262926                        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;
    29292929                        CHECK_FCT(fd_msg_avp_setvalue(diameap_sm->lastReqEAPavp, &avp_val));
    29302930
     
    29472947static int diameap_add_eap_success_avps(
    29482948                struct diameap_state_machine * diameap_sm, struct msg * ans,
    2949                 struct diameap_eap_interface eap_i)
     2949                struct diameap_eap_interface *eap_i)
    29502950{
    29512951        TRACE_ENTRY("%p %p %p",diameap_sm,ans,eap_i);
     
    29552955
    29562956        /* EAP-Master-Session-Key AVP */
    2957         if (eap_i.aaaEapKeyAvailable == TRUE)
     2957        if (eap_i->aaaEapKeyAvailable == TRUE)
    29582958        {
    29592959                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;
    29622962                CHECK_FCT(fd_msg_avp_setvalue(avp, &avp_val));
    29632963                CHECK_FCT( fd_msg_avp_add( ans, MSG_BRW_LAST_CHILD, avp ) );
     
    29892989        TRACE_ENTRY("%p",diameap_sm);
    29902990
    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));
    29922992
    29932993        diameap_sm->authorized = TRUE;
     
    31783178                case DIAMEAP_SELECT_DECISION:
    31793179
    3180                         CHECK_FCT_DO( diameap_policy_decision(diameap_sm,eap_i),
     3180                        CHECK_FCT_DO( diameap_policy_decision(diameap_sm,&eap_i),
    31813181                                        goto s_end)
    31823182                        ;
     
    32223222                                {
    32233223                                        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),
    32253225                                                        {       TRACE_DEBUG(INFO,"%s Unable to get user's session attributes.",DIAMEAP_EXTENSION); goto s_end;});
    32263226                                        TRACE_DEBUG(FULL+1,"%sCreate answer authentication attributes.",DIAMEAP_EXTENSION);
    32273227                                        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;});
    32293229                                }
    32303230
     
    32533253                        TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION)
    32543254                        ;
    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),
    32563256                                        {       TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;})
    32573257                        ;
     
    32823282                        TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION)
    32833283                        ;
    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),
    32853285                                        {       TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;})
    32863286                        ;
     
    33123312                        TRACE_DEBUG(FULL+1,"%sAdding EAP-Payload to Diameter-EAP-Answer.",DIAMEAP_EXTENSION)
    33133313                        ;
    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),
    33153315                                        {       TRACE_DEBUG(INFO,"%s Adding EAP-Payload AVP failed.",DIAMEAP_EXTENSION); goto s_end;})
    33163316                        ;
    33173317                        TRACE_DEBUG(FULL+1,"%sAdding EAP success AVPs AVPs to Diameter-EAP-Answer.",DIAMEAP_EXTENSION)
    33183318                        ;
    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),
    33203320                                        goto s_end)
    33213321                        ;
  • extensions/app_diameap/diameap_user.c

    r425 r1027  
    3939#include "libdiameap.h"
    4040
    41 int diameap_user_get_userid(struct eap_user user, u8* userid)
     41int diameap_user_get_userid(struct eap_user *user, u8* userid)
    4242{
    4343        TRACE_ENTRY("%p %p",user,userid);
    44         if (user.userid == NULL)
     44        if (user->userid == NULL)
    4545                return EINVAL;
    46         userid = user.userid;
     46        userid = user->userid;
    4747        return 0;
    4848}
    4949
    50 int diameap_user_get_password(struct eap_user user, u8* password,u16 * passwordlength)
     50int diameap_user_get_password(struct eap_user *user, u8* password,u16 * passwordlength)
    5151{
    5252        TRACE_ENTRY("%p %p",user,password);
    53         if (user.password == NULL)
     53        if (user->password == NULL)
    5454                return EINVAL;
    55         password = user.password;
    56         *passwordlength = user.passwordLength;
     55        password = user->password;
     56        *passwordlength = user->passwordLength;
    5757        return 0;
    5858}
    5959
    60 int diameap_user_get_passwordlength(struct eap_user user, u16 * passwordlength)
     60int diameap_user_get_passwordlength(struct eap_user *user, u16 * passwordlength)
    6161{
    6262        TRACE_ENTRY("%p %p",user,passwordlength);
    63         if (user.password == NULL)
     63        if (user->password == NULL)
    6464                return EINVAL;
    65         *passwordlength = user.passwordLength;
     65        *passwordlength = user->passwordLength;
    6666        return 0;
    6767}
     
    7070                u16 passwordLength)
    7171{
    72         TRACE_ENTRY("%p %p %p",user,password,passwordLength);
     72        TRACE_ENTRY("%p %p %hu",user,password,passwordLength);
    7373        if (password == NULL)
    7474                return EINVAL;
     
    8383                u16 useridLength)
    8484{
    85         TRACE_ENTRY("%p %p %p",user,userid,useridLength);
     85        TRACE_ENTRY("%p %p %hu",user,userid,useridLength);
    8686        if (userid == NULL)
    8787                return EINVAL;
     
    9393}
    9494
    95 int diameap_user_get_methodid(struct eap_user user, int * methodid)
     95int diameap_user_get_methodid(struct eap_user *user, int * methodid)
    9696{
    9797        TRACE_ENTRY("%p %p",user,methodid);
    98         if (user.password == NULL)
     98        if (user->password == NULL)
    9999                return EINVAL;
    100         *methodid = user.methodId;
     100        *methodid = user->methodId;
    101101        return 0;
    102102}
     
    104104int diameap_user_set_methodid(struct eap_user * user, int methodId)
    105105{
    106         TRACE_ENTRY("%p %p",user,methodId);
     106        TRACE_ENTRY("%p %d",user,methodId);
    107107        if (user->password == NULL)
    108108                return EINVAL;
     
    113113}
    114114
    115 boolean diameap_user_issuccess(struct eap_user user)
     115boolean diameap_user_issuccess(struct eap_user *user)
    116116{
    117117        TRACE_ENTRY("%p",user);
    118         if (user.password == NULL)
     118        if (user->password == NULL)
    119119                return FALSE;
    120         return user.success;
     120        return user->success;
    121121}
    122122
     
    130130}
    131131
    132 int diameap_user_get_eap_method(struct eap_user user, int id,
     132int diameap_user_get_eap_method(struct eap_user *user, int id,
    133133                struct eap_method *method)
    134134{
    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];
    138138        return 0;
    139139}
    140140
    141141int diameap_user_set_eap_method(struct eap_user * user, int id,
    142                 struct eap_method method)
     142                struct eap_method * method)
    143143{
    144         TRACE_ENTRY("%p %p %p",user,id,method);
     144        TRACE_ENTRY("%p %d %p",user,id,method);
    145145        if (user->password == NULL)
    146146                return EINVAL;
    147147        if (sizeof(user->methods) < (id - 1))
    148148                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;
    151151        return 0;
    152152}
  • extensions/app_diameap/diameap_user.h

    r565 r1027  
    7676boolean check_user_identity;
    7777
    78 int diameap_user_get_password(struct eap_user user, u8 * password,u16 *length);
     78int diameap_user_get_password(struct eap_user *user, u8 * password,u16 *length);
    7979
    80 int diameap_user_get_userid(struct eap_user user, u8 * userid);
     80int diameap_user_get_userid(struct eap_user *user, u8 * userid);
    8181
    8282int diameap_user_set_password(struct eap_user * user, u8 * password, u16 Length);
     
    8484int diameap_user_set_userid(struct eap_user * user, u8 * userid, u16 Length);
    8585
    86 int diameap_user_get_methodid(struct eap_user user,int *methodId);
     86int diameap_user_get_methodid(struct eap_user *user,int *methodId);
    8787
    8888int diameap_user_set_methodid(struct eap_user * user, int methodId);
    8989
    90 boolean diameap_user_issuccess(struct eap_user user);
     90boolean diameap_user_issuccess(struct eap_user *user);
    9191
    9292int diameap_user_set_success(struct eap_user * user);
    9393
    94 int diameap_user_get_eap_method(struct eap_user user, int id, struct eap_method * eapmethod);
     94int diameap_user_get_eap_method(struct eap_user *user, int id, struct eap_method * eapmethod);
    9595
    96 int diameap_user_set_eap_method(struct eap_user * user, int id, struct eap_method method);
     96int diameap_user_set_eap_method(struct eap_user * user, int id, struct eap_method * method);
    9797
    9898#endif /* DIAMEAP_USER_H_ */
  • extensions/app_diameap/plugins/eap_identity/eap_identity.c

    r577 r1027  
    4949int identity_initPickUp(struct eap_state_machine *smd);
    5050int 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);
     51boolean identity_check(struct eap_state_machine *smd, struct eap_packet *eapRespData);
     52int identity_process(struct eap_state_machine *smd, struct eap_packet *eapRespData);
    5353boolean identity_isDone(struct eap_state_machine *smd);
    5454void identity_free(void * data);
     
    8787
    8888
    89 boolean identity_check(struct eap_state_machine *smd, struct eap_packet eapPacket)
     89boolean identity_check(struct eap_state_machine *smd, struct eap_packet *eapPacket)
    9090{
    9191
    92         if (eapPacket.data == NULL)
     92        if (eapPacket->data == NULL)
    9393        {
    9494                TRACE_DEBUG(INFO,"%s[EAP Identity plugin] Empty EAP packet received.",DIAMEAP_EXTENSION);
     
    118118}
    119119
    120 int identity_process(struct eap_state_machine *smd, struct eap_packet eapRespData)
     120int identity_process(struct eap_state_machine *smd, struct eap_packet *eapRespData)
    121121{
    122122        struct identity_data * data;
  • extensions/app_diameap/plugins/eap_md5/eap_md5.c

    r959 r1027  
    5858int eap_md5_buildReq(struct eap_state_machine *smd, u8 eap_md5,
    5959                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);
     60boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet *eapRespData);
     61int eap_md5_process(struct eap_state_machine *smd, struct eap_packet *eapRespData);
    6262boolean eap_md5_isDone(struct eap_state_machine *smd);
    6363void eap_md5_free(void * data);
     
    115115
    116116
    117 boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet eapRespData)
     117boolean eap_md5_check(struct eap_state_machine *smd, struct eap_packet *eapRespData)
    118118{
    119119        eap_type type;
     
    137137
    138138
    139 int eap_md5_process(struct eap_state_machine *smd, struct eap_packet eapRespData)
     139int eap_md5_process(struct eap_state_machine *smd, struct eap_packet *eapRespData)
    140140{
    141141
     
    158158        for (i = 0; i < CHALLENGE_LEN; i++)
    159159        {
    160                 if (G8(hash + i) != G8(eapRespData.data + 6 + i))
     160                if (G8(hash + i) != G8(eapRespData->data + 6 + i))
    161161                {
    162162                        data->state = EAP_MD5_FAILURE;
  • extensions/app_diameap/plugins/eap_tls/eap_tls.c

    r825 r1027  
    4646int eap_tls_getTimeout(struct eap_state_machine *smd, int * timeout);
    4747boolean eap_tls_check(struct eap_state_machine *smd,
    48                 struct eap_packet eapRespData);
     48                struct eap_packet *eapRespData);
    4949int eap_tls_process(struct eap_state_machine *smd,
    50                 struct eap_packet eapRespData);
     50                struct eap_packet *eapRespData);
    5151boolean eap_tls_isDone(struct eap_state_machine *smd);
    5252int eap_tls_getKey(struct eap_state_machine *smd, u8** msk, int * msklen, u8** emsk, int * emsklen);
     
    149149
    150150boolean eap_tls_check(struct eap_state_machine *smd,
    151                 struct eap_packet eapRespData)
     151                struct eap_packet *eapRespData)
    152152{
    153153        eap_type type;
     
    165165
    166166int eap_tls_process(struct eap_state_machine *smd,
    167                 struct eap_packet eapRespData)
     167                struct eap_packet *eapRespData)
    168168{
    169169        struct tls_data * data;
     
    353353
    354354// parse EAP TLS msg
    355 int diameap_eap_tls_parse(struct tls_msg * tlsmsg, struct eap_packet eapPacket)
     355int diameap_eap_tls_parse(struct tls_msg * tlsmsg, struct eap_packet *eapPacket)
    356356{
    357357        u8 *datatls;
  • extensions/app_diameap/plugins/eap_tls/eap_tls.h

    r438 r1027  
    4646int diameap_eap_tls_buildReq_start(u8 id, struct eap_packet * eapPacket);
    4747int 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);
     48int diameap_eap_tls_parse(struct tls_msg * eaptls,struct eap_packet *eapPacket);
    4949int eaptlsparse(struct tls_config * conf);
    5050
  • extensions/app_radgw/radius.c

    r996 r1027  
    519519        int ret = 0;
    520520       
    521         TRACE_ENTRY("%p %g %p", buf, len, msg);
     521        TRACE_ENTRY("%p %zd %p", buf, len, msg);
    522522       
    523523        CHECK_PARAMS( buf && len >= sizeof(*hdr) && msg );
  • extensions/app_radgw/rgw_clients.c

    r977 r1027  
    163163                                if (now - r->received > DUPLICATE_CHECK_LIFETIME) {
    164164                               
    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));
    166166                                       
    167167                                        /* Remove this record */
     
    459459                time_t now = time(NULL);
    460460                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));
    463463               
    464464                if (r->ans) {
     
    780780                                if (cli->type == RGW_CLI_NAS) {
    781781                                        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));
    783783                                        return EINVAL;
    784784                                } else {
     
    813813
    814814                                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);
    816816                                CHECK_FCT( rgw_clients_get_origin(cli, &oh_str, &oh_strlen, &or_str, &or_strlen) );
    817817                        }
  • extensions/app_radgw/rgw_servers.c

    r996 r1027  
    279279                char __buf[1024];
    280280                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);
    282282        }
    283283               
  • extensions/app_radgw/rgwx_acct.c

    r996 r1027  
    365365                                        si = v + pref_len;
    366366                                        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);
    368368                                        /* Remove from the message */
    369369                                        for (i = idx + 1; i < rad_req->attr_used; i++)
     
    377377                                        un = v;
    378378                                        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);
    380380                                }
    381381                                break;
     
    490490                CHECK_FCT( fd_sess_fromsid_msg ( si, si_len, &sess, NULL) );
    491491               
    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);
    493493               
    494494                /* Add the Session-Id AVP as first AVP */
     
    12711271                        fd_log_debug("[acct.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, not translating into Accounting-Response",
    12721272                                        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);
    12751275                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Message, &avp) );
    12761276                        if (avp) {
    12771277                                CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) );
    12781278                                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);
    12801280                        }
    12811281                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Reporting_Host, &avp) );
     
    12831283                                CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) );
    12841284                                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);
    12861286                        }
    12871287                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Failed_AVP, &avp) );
  • extensions/app_radgw/rgwx_auth.c

    r996 r1027  
    369369                                        si_len = attr_len - i;
    370370
    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);
    372372                                        /* Remove from the message */
    373373                                        for (i = idx + 1; i < rad_req->attr_used; i++)
     
    379379               
    380380                        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 : "");
    382382                                un = attr_val;
    383383                                un_len = attr_len;
     
    12421242                        fd_log_debug("[auth.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, translating into Access-Reject",
    12431243                                        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);
    12461246                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Message, &avp_x) );
    12471247                        if (avp_x) {
    12481248                                CHECK_FCT( fd_msg_avp_hdr ( avp_x, &ahdr ) );
    12491249                                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);
    12511251                        }
    12521252                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Reporting_Host, &avp_x) );
     
    12541254                                CHECK_FCT( fd_msg_avp_hdr ( avp_x, &ahdr ) );
    12551255                                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);
    12571257                        }
    12581258                        CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Failed_AVP, &avp_x) );
     
    14571457                                                                (ahdr->avp_value->u32 == 1) ? "AUTHENTICATE_ONLY" :
    14581458                                                                        ((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);
    14611461                                        }
    14621462                                        break;
     
    16181618                                        /* This is not translatable to RADIUS */
    16191619                                        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);
    16221622                                        handled = 0;
    16231623                                        break;
     
    16511651                                        /* This is not translatable to RADIUS */
    16521652                                        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);
    16551655                                        handled = 0;
    16561656                                        break;
     
    18591859                                               
    18601860                                                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)
    18621862                                                }
    18631863                                               
  • extensions/app_radgw/rgwx_sip.c

    r996 r1027  
    366366                                if (attr->length>sizeof(struct radius_attr_hdr))
    367367                                {
    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));
    369369                                        un = (os0_t)(attr + 1);
    370370                                        un_len =attr->length - sizeof(struct radius_attr_hdr);
     
    802802                        (*rad_fw)->hdr->code = RADIUS_CODE_ACCESS_REJECT;
    803803                        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);
    805805                        return 0;
    806806        }
  • extensions/app_sip/app_sip.c

    r972 r1027  
    7676        TRACE_DEBUG(FULL,"# mysql_server: *%s*",as_conf->mysql_server);
    7777        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);
    7979        TRACE_DEBUG(FULL,"***End of Diameter-SIP configuration extension***");
    8080}
  • extensions/app_sip/app_sip.h

    r972 r1027  
    136136};
    137137
    138 int app_sip_RTR_cb(struct rtrsipaor structure);
    139 int app_sip_PPR_cb(struct pprsipaor structure);
     138int app_sip_RTR_cb(struct rtrsipaor *structure);
     139int app_sip_PPR_cb(struct pprsipaor *structure);
    140140
    141141
  • extensions/app_sip/pushprofile.c

    r639 r1027  
    7777                                {
    7878                                        //We received something, we can send an PPR
    79                                         app_sip_PPR_cb(pprsip);
     79                                        app_sip_PPR_cb(&pprsip);
    8080                                }
    8181                        }
     
    9292}
    9393//Called to send a PPR
    94 int app_sip_PPR_cb(struct pprsipaor structure)
     94int app_sip_PPR_cb(struct pprsipaor *structure)
    9595{
    9696        /*
  • extensions/app_sip/registrationtermination.c

    r924 r1027  
    7575                                {
    7676                                        //We received something, we can send an RTR
    77                                         app_sip_RTR_cb(rtrsip);
     77                                        app_sip_RTR_cb(&rtrsip);
    7878                                }
    7979                        }
     
    8888}
    8989//Called to send a RTR
    90 int app_sip_RTR_cb(struct rtrsipaor structure)
     90int app_sip_RTR_cb(struct rtrsipaor *structure)
    9191{
    9292        TRACE_ENTRY("%p", structure);
     
    102102       
    103103        //We must check that we have all needed value in structure
    104         if(structure.username[0]!='\0')
     104        if(structure->username[0]!='\0')
    105105                got_username=1;
    106106       
    107         if(structure.sip_aor1[0]!='\0')
     107        if(structure->sip_aor1[0]!='\0')
    108108        {       
    109109                num_aor++;
    110                 if(structure.sip_aor2[0]!='\0')
     110                if(structure->sip_aor2[0]!='\0')
    111111                {
    112112                        num_aor++;
    113                         if(structure.sip_aor3[0]!='\0')
     113                        if(structure->sip_aor3[0]!='\0')
    114114                                num_aor++;
    115115                }
    116116        }
    117117       
    118         if(structure.strreason!='\0')
     118        if(structure->strreason!='\0')
    119119                got_streason=1;
    120120       
     
    128128                return EINVAL;
    129129        }
    130         if(structure.reason<0)
     130        if(structure->reason<0)
    131131        {
    132132                //We must have a least a SIP_AOR or a Username
     
    135135        }
    136136       
    137         if(structure.desthost[0]=='\0')
     137        if(structure->desthost[0]=='\0')
    138138        {
    139139                //We must have a least a SIP_AOR or a Username
     
    173173        {
    174174                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);
    177177                CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    178178                CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) );
     
    186186                //Reason Code
    187187                CHECK_FCT( fd_msg_avp_new ( sip_dict.SIP_Reason_Code, 0, &avp ) );
    188                 value.i32=structure.reason;
     188                value.i32=structure->reason;
    189189                CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    190190                CHECK_FCT( fd_msg_avp_add( groupedavp, MSG_BRW_LAST_CHILD, avp ) );
     
    194194                        //Reason Info
    195195                        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);
    198198                        CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    199199                        CHECK_FCT( fd_msg_avp_add( groupedavp, MSG_BRW_LAST_CHILD, avp ) );
     
    209209                {
    210210                        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);
    213213                        CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    214214                        CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) );
     
    221221                {
    222222                        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);
    225225                        CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    226226                        CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) );
     
    228228                        {
    229229                                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);
    232232                                CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    233233                                CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) );
     
    235235                                {
    236236                                        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);
    239239                                        CHECK_FCT( fd_msg_avp_setvalue( avp, &value ) );
    240240                                        CHECK_FCT( fd_msg_avp_add( message, MSG_BRW_LAST_CHILD, avp ) );
  • extensions/rt_ereg/rtereg.c

    r741 r1027  
    6161                struct fd_list * c;
    6262               
    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);
    6464               
    6565                #ifdef HAVE_REG_STARTEND
     
    107107                TRACE_DEBUG(FULL, "[rt_ereg] Match: '%s' to value '%.*s' => '%s' += %d",
    108108                                        r->pattern,
    109                                         len,
     109                                        (int)len,
    110110                                        value,
    111111                                        r->server,
  • extensions/rt_redirect/redir_fwd.c

    r1019 r1027  
    122122                                                                        &id, &len, &secure, &port, &l4, &proto),
    123123                                                        {
    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);
    125125                                                                break;
    126126                                                        } );
     
    128128                                                /* Now check if the transport & protocol are supported */
    129129                                                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);
    131131                                                        free(id);
    132132                                                        break;
    133133                                                }
    134134                                                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);
    136136                                                        free(id);
    137137                                                        break;
  • extensions/rt_redirect/redir_out.c

    r740 r1027  
    173173                        cmp = fd_os_almostcasesrch(cand->diamid, cand->diamidlen, e->data.host.s, e->data.host.l, NULL);
    174174                        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);
    176176                                cand->score += FD_SCORE_SENT_REDIRECT;
    177177                                c_oh = cand;
     
    182182                cmp = fd_os_cmp(cand->diamid, cand->diamidlen, e->from.s, e->from.l);
    183183                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);
    185185                        cand->score += FD_SCORE_SENT_REDIRECT;
    186186                }
     
    206206                       
    207207                        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);
    209209                                cand->score += redirects_usages[e->type].score;
    210210                                break;
  • include/freeDiameter/libfdproto.h

    r1026 r1027  
    8484#endif /* DEBUG */
    8585
     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 */
    8691
    8792/*============================================================*/
     
    128133 *  None.
    129134 */
    130 void fd_log ( int, const char *, ... ) __attribute__ ((format (printf, 2, 3)));
     135void fd_log ( int, const char *, ... ) _ATTRIBUTE_PRINTFLIKE_(2,3);
    131136#define fd_log_debug(format,args...)  fd_log(FD_LOG_DEBUG, format, ## args)
    132137#define fd_log_notice(format,args...) fd_log(FD_LOG_NOTICE, format, ## args)
     
    784789       
    785790        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);
    787792        } 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);
    789794        }
    790795       
     
    23372342};
    23382343#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)));
     2344void fd_msg_log( enum fd_msg_log_cause cause, struct msg * msg, const char * prefix_format, ... ) _ATTRIBUTE_PRINTFLIKE_(3,4);
    23402345
    23412346/* configure the msg_log facility */
  • libfdcore/cnxctx.c

    r999 r1027  
    513513int fd_cnx_getremoteeps(struct cnxctx * conn, struct fd_list * eps)
    514514{
    515         TRACE_ENTRY("%p %p %p", conn, eps);
     515        TRACE_ENTRY("%p %p", conn, eps);
    516516        CHECK_PARAMS(conn && eps);
    517517       
     
    12101210                                        snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%02hhx", serial[j]);
    12111211                                }
    1212                                 fd_log_debug(buf);
     1212                                fd_log_debug("%s", buf);
    12131213                        }
    12141214
  • libfdcore/config.c

    r1021 r1027  
    226226#endif /* GNUTLS_VERSION_300 */
    227227
     228#ifndef GNUTLS_VERSION_300
     229# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
     230#endif /* !GNUTLS_VERSION_300 */
    228231/* Parse the configuration file (using the yacc parser) */
    229232int fd_conf_parse()
     
    474477                        unsigned int verify;
    475478                        time_t now;
    476                         #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    477479                        GNUTLS_TRACE( gnutls_certificate_get_x509_cas (fd_g_config->cnf_sec_data.credentials, &CA_list, (unsigned int *) &CA_list_length) );
    478480                        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"
    480481                        CHECK_GNUTLS_DO( gnutls_x509_crt_list_verify(certs, cert_max, CA_list, CA_list_length, CRL_list, CRL_list_length, 0, &verify),
    481482                                {
     
    597598        return 0;
    598599}
     600#ifndef GNUTLS_VERSION_300
     601# pragma GCC diagnostic pop "-Wdeprecated-declarations"
     602#endif /* !GNUTLS_VERSION_300 */
    599603
    600604
  • libfdcore/core.c

    r994 r1027  
    3838#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    3939#include <gcrypt.h>
    40 #pragma GCC diagnostic warning "-Wdeprecated-declarations"
     40#pragma GCC diagnostic pop "-Wdeprecated-declarations"
    4141
    4242/* The static configuration structure */
  • libfdcore/p_ce.c

    r1010 r1027  
    307307                                                        peer->p_hdr.info.pi_diamid, peer->p_hdr.info.pi_diamidlen, NULL)) {
    308308                                        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);
    310310                                        error->pei_errcode = "DIAMETER_AVP_NOT_ALLOWED";
    311311                                        error->pei_message = "Your Origin-Host value does not match my configuration.";
  • libfdcore/p_out.c

    r1010 r1027  
    8585                if (rcvon.tv_sec != 0 || rcvon.tv_nsec != 0) {
    8686                        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);
    8888                } else { /* We log the answer time only for answers generated locally */
    8989                        if (!msg_is_a_req) {
     
    9494                                (void) fd_msg_ts_get_recv(req, &reqrcvon);
    9595                                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);
    9797                        }
    9898                }
  • libfdcore/p_psm.c

    r1010 r1027  
    538538                                (void) fd_msg_ts_get_sent(req, &reqsent);
    539539                                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 );
    541541                        }
    542542                } else {
  • libfdcore/peers.c

    r1010 r1027  
    424424                        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);
    425425        }
    426         fd_log_debug(buf);
     426        fd_log_debug("%s", buf);
    427427        if (details > FULL) {
    428428                /* Dump all info */
    429429                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" : "."
    440440                                );
    441441                fd_log_debug("\tLifetime : %d sec", peer->p_hdr.info.config.pic_lft);
  • libfdcore/routing_dispatch.c

    r1014 r1027  
    362362       
    363363        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);
    367367       
    368368        un->os.len = at_idx;
  • libfdcore/sctp.c

    r974 r1027  
    10371037        mhdr.msg_controllen = sizeof(anci);
    10381038       
    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);
    10401040again: 
    10411041        ret = sendmsg(conn->cc_socket, &mhdr, 0);
     
    11351135                union sctp_notification * notif = (union sctp_notification *) data;
    11361136               
    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);
    11381138       
    11391139                switch (notif->sn_header.sn_type) {
     
    12331233                        *strid = sndrcv->sinfo_stream;
    12341234                }
    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);
    12361236        } 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);
    12381238        }
    12391239       
  • libfdcore/sctps.c

    r1021 r1027  
    9595                                        CHECK_FCT_DO(fd_event_send(conn->cc_sctps_data.array[strid].raw_recv, event, bufsz, buf), goto fatal );
    9696                                } 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);
    9898                                        free(buf);
    9999                                }
     
    230230
    231231/* 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 */
    232235static void set_sess_transport(gnutls_session_t session, struct sctps_ctx *ctx)
    233236{
     
    238241#ifndef GNUTLS_VERSION_300
    239242        /* starting version 2.12, this call is not needed */
    240         #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    241243        GNUTLS_TRACE( gnutls_transport_set_lowat( session, 0 ) );
    242         #pragma GCC diagnostic warning "-Wdeprecated-declarations"
    243244#endif /* GNUTLS_VERSION_300 */
    244245       
     
    249250        return;
    250251}
     252#ifndef GNUTLS_VERSION_300
     253# pragma GCC diagnostic pop "-Wdeprecated-declarations"
     254#endif /* !GNUTLS_VERSION_300 */
    251255
    252256/*************************************************************/
  • libfdproto/dictionary.c

    r979 r1027  
    3535
    3636#include "fdproto-internal.h"
     37#include <inttypes.h>
    3738
    3839/* Names of the base types */
     
    11791180                                        n = enumval->enum_value.os.len;
    11801181                                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]));
    11821183                                if (n == LEN_MAX)
    11831184                                        fd_log_debug("...");
     
    11901191
    11911192                case AVP_TYPE_INTEGER64:
    1192                         fd_log_debug("%lli", enumval->enum_value.i64);
     1193                        fd_log_debug(PRId64, enumval->enum_value.i64);
    11931194                        break;
    11941195
     
    11981199
    11991200                case AVP_TYPE_UNSIGNED64:
    1200                         fd_log_debug("%llu", enumval->enum_value.u64);
     1201                        fd_log_debug(PRIu64, enumval->enum_value.u64);
    12011202                        break;
    12021203
  • libfdproto/log.c

    r990 r1027  
    166166                        fd_log_debug("(Thread '%s' renamed to '%s')", (char *)val, name?:"(nil)");
    167167                } 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)");
    169169                }
    170170        }
  • libfdproto/messages.c

    r1014 r1027  
    15171517static int bufferize_msg(unsigned char * buffer, size_t buflen, size_t * offset, struct msg * msg)
    15181518{
    1519         TRACE_ENTRY("%p %d %p %p", buffer, buflen, offset, msg);
     1519        TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, msg);
    15201520       
    15211521        if ((buflen - *offset) < GETMSGHDRSZ())
     
    15521552        struct dict_avp_data dictdata;
    15531553       
    1554         TRACE_ENTRY("%p %d %p %p", buffer, buflen, offset, avp);
     1554        TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, avp);
    15551555       
    15561556        if ((buflen - *offset) < avp->avp_public.avp_len)
     
    16491649        struct fd_list * avpch;
    16501650       
    1651         TRACE_ENTRY("%p %d %p %p", buffer, buflen, offset, list);
     1651        TRACE_ENTRY("%p %zd %p %p", buffer, buflen, offset, list);
    16521652       
    16531653        for (avpch = list->next; avpch != list; avpch = avpch->next) {
     
    17121712        size_t offset = 0;
    17131713       
    1714         TRACE_ENTRY("%p %d %p", buf, buflen, head);
     1714        TRACE_ENTRY("%p %zd %p", buf, buflen, head);
    17151715       
    17161716        while (offset < buflen) {
     
    17181718               
    17191719                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);
    17211721                        return EBADMSG;
    17221722                }
     
    17361736                if (avp->avp_public.avp_flags & AVP_FLAG_VENDOR) {
    17371737                        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);
    17391739                                free(avp);
    17401740                                return EBADMSG;
     
    17471747                if ( (avp->avp_public.avp_len > GETAVPHDRSZ(avp->avp_public.avp_flags))
    17481748                && (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",
    17501750                                        buflen - offset,
    17511751                                        avp->avp_public.avp_len - GETAVPHDRSZ(avp->avp_public.avp_flags));
     
    17751775        unsigned char * buf;
    17761776       
    1777         TRACE_ENTRY("%p %d %p", buffer, buflen, msg);
     1777        TRACE_ENTRY("%p %zd %p", buffer, buflen, msg);
    17781778       
    17791779        CHECK_PARAMS(  buffer &&  *buffer  &&  msg  &&  (buflen >= GETMSGHDRSZ())  );
     
    17891789        msglen = ntohl(*(uint32_t *)buf) & 0x00ffffff;
    17901790        if ( buflen < msglen ) { 
    1791                 TRACE_DEBUG(INFO, "Truncated message (%d / %d)", buflen, msglen );
     1791                TRACE_DEBUG(INFO, "Truncated message (%zd / %d)", buflen, msglen );
    17921792                free(buf);
    17931793                return EBADMSG;
  • libfdproto/ostr.c

    r1022 r1027  
    170170                }
    171171                /* 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);
    173173                return 0;
    174174disp:
    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);
    176176                return 0;
    177177        }
     
    291291        /* Remaining of URI marker */
    292292        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);
    294294                return EINVAL;
    295295        }
     
    380380                }
    381381               
    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);
    383383                return EINVAL;
    384384        }
     
    417417                }
    418418               
    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);
    420420                return EINVAL;
    421421               
     
    425425                return 0; /* Finished */
    426426       
    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);
    428428        return EINVAL;
    429429}
  • libfdproto/sessions.c

    r979 r1027  
    523523        int ret;
    524524       
    525         TRACE_ENTRY("%p %d %p %p", sid, len, session, new);
     525        TRACE_ENTRY("%p %zd %p %p", sid, len, session, new);
    526526        CHECK_PARAMS( sid && session );
    527527       
    528528        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);
    530530        }
    531531       
Note: See TracChangeset for help on using the changeset viewer.