Navigation


Changeset 403:26aafbbc1640 in freeDiameter for extensions/app_radgw


Ignore:
Timestamp:
Jul 8, 2010, 2:24:19 PM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Cleanup all compilation warnings in base code for 32 bit arch

Location:
extensions/app_radgw
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • extensions/app_radgw/md5.c

    r254 r403  
    77 */
    88#include "rgw_common.h"
    9 /* Forward declaration: */
    10 void md5_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac);
    119/*********************************************************************************/
    1210
  • extensions/app_radgw/md5.h

    r254 r403  
    44 * It is redistributed under the terms of the BSD license, as allowed
    55 * by the original copyright reproduced bellow.
    6  *  The file has not been modified, except for this notice.
    76 */
     7
    88/*********************************************************************************/
    99
     
    4141#endif /* CONFIG_CRYPTO_INTERNAL */
    4242
     43 /* Forward declaration: */
     44void md5_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac);
     45
    4346#endif /* MD5_H */
  • extensions/app_radgw/rgw.h

    r356 r403  
    102102int rgw_clients_check_dup(struct rgw_radius_msg_meta **msg, struct rgw_client *cli);
    103103int rgw_clients_check_origin(struct rgw_radius_msg_meta *msg, struct rgw_client *cli);
    104 int rgw_clients_get_origin(struct rgw_client *cli, char **fqdn, char **realm);
    105 char * rgw_clients_id(struct rgw_client *cli);
    106104int rgw_client_finish_send(struct radius_msg ** msg, struct rgw_radius_msg_meta * req, struct rgw_client * cli);
    107105void rgw_clients_dispose(struct rgw_client ** ref);
  • extensions/app_radgw/rgw_clients.c

    r395 r403  
    189189static int client_search(struct rgw_client ** res, struct sockaddr * ip_port )
    190190{
    191         int ret = 0;
    192191        int cmp;
    193192        struct fd_list *ref = NULL;
     
    301300        for (idx = 0; idx < msg->radius.attr_used; idx++) {
    302301                struct radius_attr_hdr * attr = (struct radius_attr_hdr *)(msg->radius.buf + msg->radius.attr_pos[idx]);
    303                 unsigned char * attr_val = (unsigned char *)(attr + 1);
    304302                size_t attr_len = attr->length - sizeof(struct radius_attr_hdr);
    305303               
  • extensions/app_radgw/rgw_common.h

    r356 r403  
    5656/* This structure points to a RADIUS client description, the definition is not known to plugins */
    5757struct rgw_client;
    58 /* This function is required to be able to translate user paswords */
    59 int rgw_clients_getkey(struct rgw_client * cli, unsigned char **key, size_t *key_len);
     58
     59int    rgw_clients_getkey(struct rgw_client * cli, unsigned char **key, size_t *key_len);
     60char * rgw_clients_id(struct rgw_client *cli);
     61int    rgw_clients_get_origin(struct rgw_client *cli, char **fqdn, char **realm);
    6062
    6163/* Each plugin must provide the following structure. */
  • extensions/app_radgw/rgw_conf.l

    r258 r403  
    136136                                }
    137137                               
    138                                 if (port = strchr(work, '[')) {
     138                                if ((port = strchr(work, '[')) != NULL) {
    139139                                        *port = '\0';
    140140                                        port++;
  • extensions/app_radgw/rgw_plugins.c

    r356 r403  
    173173{
    174174        struct plg_descr * new;
    175         int ret = 0;
    176175       
    177176        TRACE_ENTRY("%p %p %d %p %zi", plgfile, conffile, type, codes_array, codes_sz);
  • extensions/app_radgw/rgw_worker.c

    r385 r403  
    6363static void * work_th(void * arg)
    6464{
    65         char thname[10];
    66        
    6765        TRACE_ENTRY("%p", arg);
    6866       
  • extensions/app_radgw/rgwx_acct.c

    r376 r403  
    301301        const char * prefix = "Diameter/";
    302302        size_t pref_len;
    303         char * si = NULL;
     303        uint8_t * si = NULL;
    304304        size_t si_len = 0;
    305         char * un = NULL;
     305        uint8_t * un = NULL;
    306306        size_t un_len = 0;
    307307       
     
    357357                                if ((attr_len > pref_len ) && ! strncmp((char *)v, prefix, pref_len)) {
    358358                                        int i;
    359                                         si = (char *)v + pref_len;
     359                                        si = v + pref_len;
    360360                                        si_len = attr_len - pref_len;
    361361                                        TRACE_DEBUG(ANNOYING, "Found Class attribute with '%s' prefix (attr #%d), SI:'%.*s'.", prefix, idx, si_len, si);
     
    369369                        case RADIUS_ATTR_USER_NAME:
    370370                                if (attr_len) {
    371                                         un = (char *)v;
     371                                        un = v;
    372372                                        un_len = attr_len;
    373373                                        TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", un_len, un);
     
    471471        if (idx == 0) {
    472472                /* Not found in the User-Name => we use the local domain of this gateway */
    473                 value.os.data = fd_g_config->cnf_diamrlm;
     473                value.os.data = (uint8_t *)fd_g_config->cnf_diamrlm;
    474474                value.os.len  = fd_g_config->cnf_diamrlm_len;
    475475        } else {
     
    482482        /* Create the Session-Id AVP if needed */
    483483        if (!*session) {
    484                 CHECK_FCT( fd_sess_fromsid ( si, si_len, session, NULL) );
     484                CHECK_FCT( fd_sess_fromsid ( (char *)/* cast should be removed later */si, si_len, session, NULL) );
    485485               
    486486                TRACE_DEBUG(FULL, "[auth.rgwx] Translating new accounting message for session '%.*s'...", si_len, si);
  • extensions/app_radgw/rgwx_auth.c

    r388 r403  
    236236        const char * prefix = "Diameter/";
    237237        size_t pref_len;
    238         char * dh = NULL;
     238        uint8_t * dh = NULL;
    239239        size_t dh_len = 0;
    240         char * dr = NULL;
     240        uint8_t * dr = NULL;
    241241        size_t dr_len = 0;
    242         char * si = NULL;
     242        uint8_t * si = NULL;
    243243        size_t si_len = 0;
    244         char * un = NULL;
     244        uint8_t * un = NULL;
    245245        size_t un_len = 0;
    246         uint32_t status_type;
    247246        size_t nattr_used = 0;
    248247        struct avp ** avp_tun = NULL, *avp = NULL;
     
    316315        for (idx = 0; idx < rad_req->attr_used; idx++) {
    317316                struct radius_attr_hdr * attr = (struct radius_attr_hdr *)(rad_req->buf + rad_req->attr_pos[idx]);
    318                 char * attr_val = (char *)(attr + 1);
     317                uint8_t * attr_val = (uint8_t *)(attr + 1);
    319318                size_t attr_len = attr->length - sizeof(struct radius_attr_hdr);
    320319               
     
    343342                        case RADIUS_ATTR_STATE:
    344343                                if ((attr_len > pref_len + 5 /* for the '/'s and non empty strings */ )
    345                                         && ! strncmp(attr_val, prefix, pref_len)) { /* should we make it strncasecmp? */
     344                                        && ! memcmp(attr_val, prefix, pref_len)) {
    346345                                        int i, start;
    347346
     
    376375               
    377376                        case RADIUS_ATTR_USER_NAME:
    378                                 TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr_len, attr_len ? attr_val : "");
     377                                TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr_len, attr_len ? (char *)attr_val : "");
    379378                                un = attr_val;
    380379                                un_len = attr_len;
     
    430429                if (i <= 0) {
    431430                        /* Not found in the User-Name => we use the local domain of this gateway */
    432                         value.os.data = fd_g_config->cnf_diamrlm;
     431                        value.os.data = (uint8_t *)fd_g_config->cnf_diamrlm;
    433432                        value.os.len  = fd_g_config->cnf_diamrlm_len;
    434433                } else {
     
    455454                if (si_len) {
    456455                        /* We already have the Session-Id, just use it */
    457                         CHECK_FCT( fd_sess_fromsid ( si, si_len, session, NULL) );
     456                        CHECK_FCT( fd_sess_fromsid ( (char *) /* this cast will be removed later */ si, si_len, session, NULL) );
    458457                } else {
    459458                        /* Create a new Session-Id string */
     
    544543                if (got_empty_eap) {
    545544                        value.os.len = 0;
    546                         value.os.data = "";
     545                        value.os.data = (uint8_t *)"";
    547546                } else {
    548547                        CHECK_MALLOC( value.os.data = radius_msg_get_eap(rad_req, &value.os.len) );
     
    10661065        struct avp *avp, *next, *avp_x, *avp_y, *asid, *aoh;
    10671066        struct avp_hdr *ahdr, *sid, *oh;
    1068         char buf[254]; /* to store some attributes values (with final '\0') */
     1067        uint8_t buf[254]; /* to store some attributes values (with final '\0') */
     1068        size_t sz;
    10691069        int ta_set = 0;
    10701070        int no_str = 0; /* indicate if an STR is required for this server */
     
    11891189        /* Now, save the session-id and eventually server info in a STATE or CLASS attribute */
    11901190        if ((*rad_fw)->hdr->code == RADIUS_CODE_ACCESS_CHALLENGE) {
    1191                 if (sizeof(buf) < snprintf(buf, sizeof(buf), "Diameter/%.*s/%.*s/%.*s",
    1192                                 oh->avp_value->os.len,  oh->avp_value->os.data,
    1193                                 ahdr->avp_value->os.len,  ahdr->avp_value->os.data,
    1194                                 sid->avp_value->os.len, sid->avp_value->os.data)) {
     1191                if (sizeof(buf) < (sz = snprintf((char *)buf, sizeof(buf), "Diameter/%.*s/%.*s/%.*s",
     1192                                oh->avp_value->os.len,  (char *)oh->avp_value->os.data,
     1193                                ahdr->avp_value->os.len,  (char *)ahdr->avp_value->os.data,
     1194                                sid->avp_value->os.len, (char *)sid->avp_value->os.data))) {
    11951195                        TRACE_DEBUG(INFO, "Data truncated in State attribute: %s", buf);
    11961196                }
    1197                 CONV2RAD_STR(RADIUS_ATTR_STATE, buf, strlen(buf), 0);
     1197                CONV2RAD_STR(RADIUS_ATTR_STATE, buf, sz, 0);
    11981198        }
    11991199
    12001200        if ((*rad_fw)->hdr->code == RADIUS_CODE_ACCESS_ACCEPT) {
    12011201                /* Add the Session-Id */
    1202                 if (sizeof(buf) < snprintf(buf, sizeof(buf), "Diameter/%.*s",
    1203                                 sid->avp_value->os.len, sid->avp_value->os.data)) {
     1202                if (sizeof(buf) < (sz = snprintf((char *)buf, sizeof(buf), "Diameter/%.*s",
     1203                                sid->avp_value->os.len, sid->avp_value->os.data))) {
    12041204                        TRACE_DEBUG(INFO, "Data truncated in Class attribute: %s", buf);
    12051205                }
    1206                 CONV2RAD_STR(RADIUS_ATTR_CLASS, buf, strlen(buf), 0);
     1206                CONV2RAD_STR(RADIUS_ATTR_CLASS, buf, sz, 0);
    12071207        }
    12081208       
     
    15871587                                                        CHECK_FCT( fd_msg_avp_hdr ( inavp, &ahdr ) );
    15881588                                                       
    1589                                                         if (ahdr->avp_flags & AVP_FLAG_VENDOR == 0) {
     1589                                                        if ( ! (ahdr->avp_flags & AVP_FLAG_VENDOR)) {
    15901590                                                                switch (ahdr->avp_code) {
    15911591                                                                        case DIAM_ATTR_TUNNEL_TYPE:
     
    16341634                                                                                        size_t pos;
    16351635                                                                                        int i;
    1636                                                                                         size_t buflen;
    16371636                                                                                        uint8_t * secret;       /* S */
    16381637                                                                                        size_t secret_len;
     
    16531652                                                                                       
    16541653                                                                                        /* The plain text string P */
    1655                                                                                         CHECK_PARAM(ahdr->avp_value->os.len < 240);
     1654                                                                                        CHECK_PARAMS(ahdr->avp_value->os.len < 240);
    16561655                                                                                        buf[3] = ahdr->avp_value->os.len;
    16571656                                                                                        memcpy(&buf[4], ahdr->avp_value->os.data, ahdr->avp_value->os.len);
     
    18171816                /* Add the auth-application-id required for STR, or 0 if no STR is required */
    18181817                CHECK_FCT( fd_msg_hdr( *diam_ans, &hdr ) );
    1819                 if (sizeof(buf) < snprintf(buf, sizeof(buf), CLASS_AAI_PREFIX "%u",
    1820                                 no_str ? 0 : hdr->msg_appl)) {
     1818                if (sizeof(buf) < (sz = snprintf((char *)buf, sizeof(buf), CLASS_AAI_PREFIX "%u",
     1819                                no_str ? 0 : hdr->msg_appl))) {
    18211820                        TRACE_DEBUG(INFO, "Data truncated in Class attribute: %s", buf);
    18221821                }
    1823                 CONV2RAD_STR(RADIUS_ATTR_CLASS, buf, strlen(buf), 0);
     1822                CONV2RAD_STR(RADIUS_ATTR_CLASS, buf, sz, 0);
    18241823        }
    18251824       
  • extensions/app_radgw/rgwx_echodrop.c

    r356 r403  
    240240static int ed_diam_ans( struct rgwp_config * cs, struct session * session, struct msg ** diam_ans, struct radius_msg ** rad_fw, struct rgw_client * cli, int * stateful )
    241241{
    242         int ret;
    243242        struct fd_list * list = NULL;
    244243       
     
    265264        while (! FD_IS_LIST_EMPTY(list) ) {
    266265                struct ed_saved_attribute * esa = (struct ed_saved_attribute *)(list->next);
    267                 struct radius_attr_hdr * rc;
    268266               
    269267                fd_list_unlink(&esa->chain);
  • extensions/app_radgw/rgwx_echodrop.y

    r270 r403  
    5353#include "rgwx_echodrop.h"
    5454#include "rgwx_echodrop.tab.h"  /* bison is not smart enough to define the YYLTYPE before including this code, so... */
     55
     56
     57/* Forward declaration */
     58int yyparse(char * conffile, struct rgwp_config *cs);
     59
     60/* The Lex parser prototype */
     61int rgwx_echodroplex(YYSTYPE *lvalp, YYLTYPE *llocp);
     62
    5563
    5664/* Parse the configuration file */
Note: See TracChangeset for help on using the changeset viewer.