Changeset 972:ce3cacbbccc9 in freeDiameter
- Timestamp:
- Mar 15, 2013, 1:31:00 AM (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
INSTALL.OSX
- Property exe deleted
r887 r972 43 43 44 44 Notes: 45 * GNU IDN (libidn) is optional, see bel low45 * GNU IDN (libidn) is optional, see below 46 46 * When libusrsctp package is available, you can use it as well. 47 47 -
INSTALL.Ubuntu
r877 r972 73 73 =========================================== 74 74 75 freeDiameter has been tested on the following distributions (compiled from source as described bel low):75 freeDiameter has been tested on the following distributions (compiled from source as described below): 76 76 Ubuntu Intrepid, Jaunty, Karmic, Lucid, Maverick, Natty. 77 77 Debian Lenny (with small patch, see ticket #24). -
README
r660 r972 19 19 the network connections with other Diameter peers and performs the tasks described 20 20 in Diameter Base Protocol, such as watchdogs, basic routing, ... It also handles 21 the loading of extensions (see bel low).21 the loading of extensions (see below). 22 22 23 23 - freeDiameterd : this simple daemon parses the command line and initializes the -
contrib/OpenWRT/packages/freeDiameter/Makefile
r707 r972 124 124 >> $(1)/etc/freeDiameter/freeDiameter.conf 125 125 echo "# LoadExtension = \"test_app.fdx\";" >> $(1)/etc/freeDiameter/freeDiameter.conf 126 echo "## Add overrides bel low this point" >> $(1)/etc/freeDiameter/freeDiameter.conf126 echo "## Add overrides below this point" >> $(1)/etc/freeDiameter/freeDiameter.conf 127 127 128 128 -
contrib/app_acct_tools/display_results.php
r533 r972 4 4 5 5 # This file should no be called directly; 6 # instead it should be included from another script that sets its parameters as described bel low.6 # instead it should be included from another script that sets its parameters as described below. 7 7 8 8 ## $USERS -
doc/app_redirect.conf.sample
r722 r972 12 12 ## default_redirect_cache_time 13 13 # Specify the default value for Redirect-Max-Cache-Time. 14 # This value can be overwriten for each rule as specified bel low.14 # This value can be overwriten for each rule as specified below. 15 15 # If this value is not specified, the default is: 16 16 #default_redirect_cache_time = 86400; ## => 1 day -
doc/freediameter.conf.sample
r925 r972 194 194 # be configured to establish and maintain connections to some 195 195 # Diameter nodes and allow connections from these nodes. 196 # This is achieved with the ConnectPeer directive described bel low.196 # This is achieved with the ConnectPeer directive described below. 197 197 # 198 198 # Note that the configured Diameter Id MUST match -
extensions/app_radgw/md5.c
r403 r972 3 3 * The content from this file comes directly from the hostap project. 4 4 * It is redistributed under the terms of the BSD license, as allowed 5 * by the original copyright reproduced bel low.5 * by the original copyright reproduced below. 6 6 * In addition to this notice, only the #include directives have been modified. 7 7 */ -
extensions/app_radgw/md5.h
r403 r972 3 3 * The content from this file comes directly from the hostap project. 4 4 * It is redistributed under the terms of the BSD license, as allowed 5 * by the original copyright reproduced bel low.5 * by the original copyright reproduced below. 6 6 */ 7 7 -
extensions/app_radgw/radius.c
r741 r972 37 37 * The content from this file comes for the main part from the hostap project. 38 38 * It is redistributed under the terms of the BSD license, as allowed 39 * by the original copyright reproduced bel low.39 * by the original copyright reproduced below. 40 40 * The modifications to this file are placed under the copyright of the freeDiameter project. 41 41 */ -
extensions/app_radgw/radius.h
r741 r972 38 38 * The content from this file comes mostly from the hostap project. 39 39 * It is redistributed under the terms of the BSD license, as allowed 40 * by the original copyright reproduced bel low.40 * by the original copyright reproduced below. 41 41 * The changes to this file are placed under the copyright of the freeDiameter project. 42 42 */ -
extensions/app_radgw/rgwx_auth.c
r928 r972 1099 1099 Request will have access to the Session Identifier and be able 1100 1100 to set the Destination-Host to the correct value. 1101 -> done here bel low1101 -> done here below 1102 1102 1103 1103 - If the Command-Code is set to AA-Answer, the Diameter Session- -
extensions/app_sip/app_sip.c
r732 r972 122 122 123 123 124 //We set useful lAVPs124 //We set useful AVPs 125 125 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Session-State", &sip_dict.Auth_Session_State, ENOENT) ); 126 126 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Application-Id", &sip_dict.Auth_Application_Id, ENOENT) ); -
extensions/app_sip/app_sip.h
r959 r972 218 218 }; 219 219 220 //Storage for some useful lAVPs220 //Storage for some useful AVPs 221 221 struct app_sip_dict{ 222 222 struct dict_object * Auth_Session_State; -
extensions/app_sip/md5.c
r433 r972 3 3 * The content from this file comes directly from the hostap project. 4 4 * It is redistributed under the terms of the BSD license, as allowed 5 * by the original copyright reproduced bel low.5 * by the original copyright reproduced below. 6 6 * In addition to this notice, only the #include directives have been modified. 7 7 */ -
extensions/app_sip/md5.h
r360 r972 3 3 * The content from this file comes directly from the hostap project. 4 4 * It is redistributed under the terms of the BSD license, as allowed 5 * by the original copyright reproduced bel low.5 * by the original copyright reproduced below. 6 6 * The file has not been modified, except for this notice. 7 7 */ -
extensions/dbg_interactive/dictionary.i
r741 r972 197 197 /* The following wrapper leaks memory each time an union avp_value is assigned an octet string. 198 198 TODO: fix this leak by better understanding SWIG... 199 -- the alternative is to uncomment the "free" statements bel low, but then it is easy to199 -- the alternative is to uncomment the "free" statements below, but then it is easy to 200 200 create a segmentation fault by assigning first an integer, then an octetstring. 201 201 */ -
extensions/test_netemul/tne_process.c
r740 r972 58 58 static pthread_t thr = (pthread_t)NULL; 59 59 60 /* The lists bel low are all protected by the same mutex mtx */60 /* The lists below are all protected by the same mutex mtx */ 61 61 static struct fd_list input = FD_LIST_INITIALIZER(input); /* messages received from network */ 62 62 static struct fd_list forlat = FD_LIST_INITIALIZER(forlat); /* messages after duplicate filter */ -
extensions/test_sip/test_sip.c
r732 r972 127 127 128 128 129 //We set useful lAVPs129 //We set useful AVPs 130 130 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Session-State", &sip_dict.Auth_Session_State, ENOENT) ); 131 131 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Application-Id", &sip_dict.Auth_Application_Id, ENOENT) ); -
extensions/test_sip/test_sip.h
r959 r972 55 55 extern struct ts_conf * ts_conf; 56 56 57 //Storage for some useful lAVPs57 //Storage for some useful AVPs 58 58 struct sip_dict{ 59 59 struct dict_object * Auth_Session_State; -
include/freeDiameter/libfdcore.h
r968 r972 225 225 (((unsigned)(state)) <= STATE_MAX ? peer_state_str[((unsigned)(state)) ] : "<Invalid>") 226 226 227 /* Constants for the peer_info structure bel low */227 /* Constants for the peer_info structure below */ 228 228 #define PI_P3_DEFAULT 0 /* Use any available protocol */ 229 229 #define PI_P3_IP 1 /* Use only IP to connect to this peer */ … … 406 406 * 407 407 * PARAMETERS: 408 * peer_validate : Callback as defined bel low.408 * peer_validate : Callback as defined below. 409 409 * 410 410 * DESCRIPTION: … … 589 589 * - The process is the same as for IN messages, until the routing-in threads makes its decision that the message is not handled locally. 590 590 * - If the local peer does not relay message, an error DIAMETER_APPLICATION_UNSUPPORTED is returned. 591 * - All callbacks registered with fd_rt_fwd_register are called for the message (see bel low).591 * - All callbacks registered with fd_rt_fwd_register are called for the message (see below). 592 592 * - these callbacks will typically do proxying work. Note that adding the route-record is handled by the daemon. 593 593 * - Once all callbacks have been called, the message is queued in the global fd_g_outgoing queue. 594 * - The remaining processing is the same as for OUT messages, as described bel low.594 * - The remaining processing is the same as for OUT messages, as described below. 595 595 * 596 596 * (*) OUT messages details: … … 602 602 * - If the list is empty, create an error UNABLE_TO_DELIVER (note: should we trig dynamic discovery here???) and reply. 603 603 * - Otherwise, call all callbacks registered by function fd_rt_out_register, with the list of peers and the message. 604 * - Order the resulting list of peers by score (see bel low), and sent the message to the peer with highest (positive) score.604 * - Order the resulting list of peers by score (see below), and sent the message to the peer with highest (positive) score. 605 605 * - in case the peer is no longer in the "OPEN" state, send the message to the second peer in the list. 606 606 * - if no peer is in OPEN state anymore, restart the process of creating the list. … … 626 626 * 627 627 * PARAMETERS: 628 * rt_fwd_cb : The callback function to register (see prototype bel low).628 * rt_fwd_cb : The callback function to register (see prototype below). 629 629 * cbdata : Pointer to pass to the callback when it is called. The data is opaque to the daemon. 630 630 * dir : One of the RT_FWD_* directions defined above. … … 703 703 * 704 704 * PARAMETERS: 705 * rt_out_cb : The callback function to register (see prototype bel low).705 * rt_out_cb : The callback function to register (see prototype below). 706 706 * cbdata : Pointer to pass to the callback when it is called. The data is opaque to the daemon. 707 707 * priority : Order for calling this callback. The callbacks are called in reverse priority order (higher priority = called sooner). -
include/freeDiameter/libfdproto.h
r965 r972 284 284 TRACE(FD_LOG_DEBUG,(level),format,##args) 285 285 286 /* Report a normal message that is useful lfor normal admin monitoring */286 /* Report a normal message that is useful for normal admin monitoring */ 287 287 #define TRACE_NOTICE(format,args... ) \ 288 288 TRACE(FD_LOG_NOTICE,INFO,format,##args) … … 312 312 int fd_breakhere(void); 313 313 314 /* Helper for tracing the CHECK_* macros bel low -- very very verbose code execution! */314 /* Helper for tracing the CHECK_* macros below -- very very verbose code execution! */ 315 315 #define TRACE_DEBUG_ALL( str ) \ 316 316 TRACE_DEBUG(CALL, str ); … … 894 894 * type : What kind of object must be created 895 895 * data : pointer to the data for the object. 896 * type parameter is used to determine the type of data (see bel low for detail).896 * type parameter is used to determine the type of data (see below for detail). 897 897 * parent : a reference to a parent object, if needed. 898 898 * ref : upon successful creation, reference to new object is stored here if !null. … … 918 918 * dict : Pointer to the dictionnary where the object is searched 919 919 * type : type of object that is being searched 920 * criteria : how the object must be searched. See object-related sections bel low for more information.920 * criteria : how the object must be searched. See object-related sections below for more information. 921 921 * what : depending on criteria, the data that must be searched. 922 922 * result : On successful return, pointer to the object is stored here. … … 925 925 * DESCRIPTION: 926 926 * Perform a search in the dictionary. 927 * See the object-specific sections bel low to find how to look for each objects.927 * See the object-specific sections below to find how to look for each objects. 928 928 * If the "result" parameter is NULL, the function is used to check if an object is in the dictionary. 929 929 * Otherwise, a reference to the object is stored in result if found. … … 995 995 VENDOR_BY_ID = 10, /* "what" points to a vendor_id_t */ 996 996 VENDOR_BY_NAME, /* "what" points to a char * */ 997 VENDOR_OF_APPLICATION /* "what" points to a struct dict_object containing an application (see bel low) */997 VENDOR_OF_APPLICATION /* "what" points to a struct dict_object containing an application (see below) */ 998 998 }; 999 999 … … 1065 1065 APPLICATION_BY_ID = 20, /* "what" points to a application_id_t */ 1066 1066 APPLICATION_BY_NAME, /* "what" points to a char * */ 1067 APPLICATION_OF_TYPE, /* "what" points to a struct dict_object containing a type object (see bel low) */1068 APPLICATION_OF_COMMAND /* "what" points to a struct dict_object containing a command (see bel low) */1067 APPLICATION_OF_TYPE, /* "what" points to a struct dict_object containing a type object (see below) */ 1068 APPLICATION_OF_COMMAND /* "what" points to a struct dict_object containing a command (see below) */ 1069 1069 }; 1070 1070 … … 1206 1206 enum { 1207 1207 TYPE_BY_NAME = 30, /* "what" points to a char * */ 1208 TYPE_OF_ENUMVAL, /* "what" points to a struct dict_object containing an enumerated constant (DICT_ENUMVAL, see bel low). */1208 TYPE_OF_ENUMVAL, /* "what" points to a struct dict_object containing an enumerated constant (DICT_ENUMVAL, see below). */ 1209 1209 TYPE_OF_AVP /* "what" points to a struct dict_object containing an AVP object. */ 1210 1210 }; … … 1280 1280 /* The criteria for searching a constant in the dictionary */ 1281 1281 enum { 1282 ENUMVAL_BY_STRUCT = 40, /* "what" points to a struct dict_enumval_request as defined bel low */1282 ENUMVAL_BY_STRUCT = 40, /* "what" points to a struct dict_enumval_request as defined below */ 1283 1283 ENUMVAL_BY_NAME, /* This cannot be used for researches */ 1284 1284 ENUMVAL_BY_VALUE /* This cannot be used for researches */ … … 1402 1402 AVP_BY_NAME, /* "what" points to a char *, vendor is always 0 */ 1403 1403 AVP_BY_NAME_ALL_VENDORS,/* "what" points to a string. Might be quite slow... */ 1404 AVP_BY_STRUCT, /* "what" points to a struct dict_avp_request_ex (see bel low) */1404 AVP_BY_STRUCT, /* "what" points to a struct dict_avp_request_ex (see below) */ 1405 1405 1406 1406 /* kept for backward compatibility, better use AVP_BY_STRUCT above instead */ 1407 AVP_BY_CODE_AND_VENDOR, /* "what" points to a struct dict_avp_request (see bel low), where avp_vendor and avp_code are set */1408 AVP_BY_NAME_AND_VENDOR /* "what" points to a struct dict_avp_request (see bel low), where avp_vendor and avp_name are set */1407 AVP_BY_CODE_AND_VENDOR, /* "what" points to a struct dict_avp_request (see below), where avp_vendor and avp_code are set */ 1408 AVP_BY_NAME_AND_VENDOR /* "what" points to a struct dict_avp_request (see below), where avp_vendor and avp_name are set */ 1409 1409 }; 1410 1410 … … 1640 1640 /* The criteria for searching a rule in the dictionary */ 1641 1641 enum { 1642 RULE_BY_AVP_AND_PARENT = 70 /* "what" points to a struct dict_rule_request -- see bel low. This is used to query "what is the rule for this AVP in this group?" */1642 RULE_BY_AVP_AND_PARENT = 70 /* "what" points to a struct dict_rule_request -- see below. This is used to query "what is the rule for this AVP in this group?" */ 1643 1643 }; 1644 1644 … … 1853 1853 * diamid : a Diameter Identity, or NULL. 1854 1854 * diamidlen : if diamid is \0-terminated, this can be 0. Otherwise, the length of diamid. 1855 * opt : Additional string, or NULL. Usage is described bel low.1855 * opt : Additional string, or NULL. Usage is described below. 1856 1856 * optlen : if opt is \0-terminated, this can be 0. Otherwise, the length of opt. 1857 1857 * … … 2136 2136 }; 2137 2137 2138 /* Some flags used in the functions bel low */2138 /* Some flags used in the functions below */ 2139 2139 #define AVPFL_SET_BLANK_VALUE 0x01 /* When creating an AVP, initialize its value to a blank area */ 2140 2140 #define AVPFL_SET_RAWDATA_FROM_AVP 0x02 /* When creating an AVP, initialize its rawdata area from an existing AVP -- it is only blank padding (for error reporting) */ -
libfdcore/p_psm.c
r931 r972 54 54 after the CER/CEA exchange (and initiated by the peer that sent the 55 55 CEA), we have a simple way to deal with our ordering problem, as resumed 56 bel low. Peers are: [i]nitiator, [r]esponder.56 below. Peers are: [i]nitiator, [r]esponder. 57 57 (1) [i] SCTP connection attempt. 58 58 (2) [r] accept the connection. -
libfdcore/peers.c
r968 r972 542 542 fd_list_insert_after( li_inf, &peer->p_hdr.chain ); 543 543 544 /* Start the PSM, which will receive the event bel low */544 /* Start the PSM, which will receive the event below */ 545 545 CHECK_FCT_DO( ret = fd_psm_begin(peer), goto out ); 546 546 } else { -
libfdproto/dictionary.c
r961 r972 79 79 /* More information about the lists : 80 80 81 - the use for each list depends on the type of object. See detail bel low.81 - the use for each list depends on the type of object. See detail below. 82 82 83 83 - a sentinel for a list has its 'o' field cleared. (this is the criteria to detect end of a loop) 84 84 85 - The lists are always ordered. The criteria are described bel low. the functions to order them are referenced in dict_obj_info85 - The lists are always ordered. The criteria are described below. the functions to order them are referenced in dict_obj_info 86 86 87 87 - The dict_lock must be held for any list operation. -
tests/testfifo.c
r879 r972 302 302 } else { 303 303 TRACE_DEBUG(INFO, "Local limit on number of threads: %d", nbr_threads); 304 /* The local limit is bel low NBR_THREADS */304 /* The local limit is below NBR_THREADS */ 305 305 nbr_threads = (nbr_threads / 2) - 1; 306 306 /* Ensure we create at least a few threads! */
Note: See TracChangeset
for help on using the changeset viewer.