Navigation



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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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                        ;
Note: See TracChangeset for help on using the changeset viewer.