Navigation


Changeset 577:9dae8bc2d04a in freeDiameter


Ignore:
Timestamp:
Oct 20, 2010, 3:37:49 PM (13 years ago)
Author:
Souheil Ben Ayed <souheil@tera.ics.keio.ac.jp>
Branch:
default
Phase:
public
Message:

Fix user name verification in EAP-TLS plugin

Location:
extensions/app_diameap
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/app_diameap/diameap_mysql.c

    r444 r577  
    8383
    8484                user->id = atoi(row[0]);
    85                 CHECK_MALLOC(user->userid=malloc(strlen(row[1])));
    86                 memcpy(user->userid,row[1],strlen(row[1]));
     85                CHECK_MALLOC(user->userid=malloc(strlen(row[1])+1));
     86                memcpy(user->userid,row[1],strlen(row[1])+1);
    8787                user->useridLength = strlen(row[1]);
    88                 CHECK_MALLOC(user->password=malloc(strlen(row[2])));
    89                 memcpy(user->password, row[2],strlen(row[2]));
     88                CHECK_MALLOC(user->password=malloc(strlen(row[2])+1));
     89                memcpy(user->password, row[2],strlen(row[2])+1);
    9090                user->passwordLength = strlen(row[2]);
    9191                user->proposed_eap_method = atoi(row[3]);
  • extensions/app_diameap/diameap_server.c

    r565 r577  
    161161                        diameap_sm->eap_sm.user.useridLength
    162162                                        = diameap_sess_data->user.useridLength;
    163                         CHECK_MALLOC(diameap_sm->eap_sm.user.userid= malloc(diameap_sm->eap_sm.user.useridLength));
    164                         U8COPY(diameap_sm->eap_sm.user.userid,0,diameap_sm->eap_sm.user.useridLength,diameap_sess_data->user.userid);
     163                        CHECK_MALLOC(diameap_sm->eap_sm.user.userid= malloc(diameap_sm->eap_sm.user.useridLength+1));
     164                        U8COPY(diameap_sm->eap_sm.user.userid,0,diameap_sm->eap_sm.user.useridLength+1,diameap_sess_data->user.userid);
    165165                        free(diameap_sess_data->user.userid);
    166166                        diameap_sess_data->user.userid = NULL;
     
    179179                        diameap_sm->eap_sm.user.passwordLength
    180180                                        = diameap_sess_data->user.passwordLength;
    181                         CHECK_MALLOC(diameap_sm->eap_sm.user.password = malloc(diameap_sm->eap_sm.user.passwordLength));
    182                         U8COPY(diameap_sm->eap_sm.user.password,0,diameap_sm->eap_sm.user.passwordLength, diameap_sess_data->user.password);
     181                        CHECK_MALLOC(diameap_sm->eap_sm.user.password = malloc(diameap_sm->eap_sm.user.passwordLength+1));
     182                        U8COPY(diameap_sm->eap_sm.user.password,0,diameap_sm->eap_sm.user.passwordLength+1, diameap_sess_data->user.password);
    183183                        free(diameap_sess_data->user.password);
    184184                        diameap_sess_data->user.password = NULL;
     
    10331033                diameap_sess_data->user.useridLength
    10341034                                = diameap_sm->eap_sm.user.useridLength;
    1035                 CHECK_MALLOC(diameap_sess_data->user.userid= malloc(diameap_sess_data->user.useridLength));
    1036                 U8COPY(diameap_sess_data->user.userid,0,diameap_sess_data->user.useridLength,diameap_sm->eap_sm.user.userid);
     1035                CHECK_MALLOC(diameap_sess_data->user.userid= malloc(diameap_sess_data->user.useridLength+1));
     1036                U8COPY(diameap_sess_data->user.userid,0,diameap_sess_data->user.useridLength+1,diameap_sm->eap_sm.user.userid);
    10371037                free(diameap_sm->eap_sm.user.userid);
    10381038                diameap_sm->eap_sm.user.userid = NULL;
     
    10501050                diameap_sess_data->user.passwordLength
    10511051                                = diameap_sm->eap_sm.user.passwordLength;
    1052                 CHECK_MALLOC(diameap_sess_data->user.password = malloc(diameap_sess_data->user.passwordLength));
    1053                 U8COPY(diameap_sess_data->user.password,0,diameap_sess_data->user.passwordLength,diameap_sm->eap_sm.user.password);
     1052                CHECK_MALLOC(diameap_sess_data->user.password = malloc(diameap_sess_data->user.passwordLength+1));
     1053                U8COPY(diameap_sess_data->user.password,0,diameap_sess_data->user.passwordLength+1,diameap_sm->eap_sm.user.password);
    10541054                free(diameap_sm->eap_sm.user.password);
    10551055                diameap_sm->eap_sm.user.password = NULL;
  • extensions/app_diameap/plugins/eap_identity/eap_identity.c

    r565 r577  
    141141                ret=diameap_get_eap_user(&(smd->user),"Default User");
    142142                CHECK_MALLOC_DO(smd->user.userid=realloc(smd->user.userid,strlen(user)+1),{ret = 1; goto next;});
    143                 memcpy(smd->user.userid,user,strlen(user));
     143                memcpy(smd->user.userid,user,strlen(user)+1);
    144144                smd->user.useridLength = strlen(user);
    145145        } else {
  • extensions/app_diameap/plugins/eap_tls/eap_tls.c

    r565 r577  
    220220                                                goto failure;});
    221221
    222                                         if(strcmp((char *)smd->user.userid,buff)!=0){
     222                                        if(strncmp((char *)smd->user.userid,buff,smd->user.useridLength)!=0){
    223223                                                goto failure;
    224224                                        }
Note: See TracChangeset for help on using the changeset viewer.