New activity for FreeRADIUS (the high performance and highly configurable RADIUS server) ====== Add .gitignore for rlm_realm Arran Cudbard-Bell@2014-09-09T22:10:07Z Files modified: * src/modules/rlm_realm/.gitignore Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/4bb1a857696be79c325fd... ====== rename rlm_realm config struct so it doesn't conflict with the main realms config struct Arran Cudbard-Bell@2014-09-09T22:09:38Z Files modified: * src/modules/rlm_realm/rlm_realm.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/319235d0658ac5a29accc... ====== Cache realm regular expressions Arran Cudbard-Bell@2014-09-09T21:51:00Z Files modified: * src/main/realms.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/7ffad000596e2bda17afb... ====== Free home_servers with talloc_free Arran Cudbard-Bell@2014-09-09T21:51:00Z Files modified: * src/main/realms.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/a90a42c1223b03c919ff5... ====== Dual should be bool Arran Cudbard-Bell@2014-09-09T21:51:00Z Files modified: * src/include/realms.h * src/main/realms.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/171d3aa00fe2681b7dd46... ====== Fix parenting of dual homeservers Arran Cudbard-Bell@2014-09-09T21:51:00Z Files modified: * src/include/realms.h * src/main/realms.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/7847355a4712d82dcac59... ====== Quiet valgrind error in rlm_ldap Arran Cudbard-Bell@2014-09-09T21:18:30Z Files modified: * src/modules/rlm_ldap/rlm_ldap.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/dea355d07c28c4b1bbcfd... ====== striprealm should be strip_realm and a bool Arran Cudbard-Bell@2014-09-09T21:18:17Z Files modified: * src/include/realms.h * src/main/process.c * src/main/realms.c * src/modules/rlm_realm/rlm_realm.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/1e8ccaedafb73aabcf5b2... ====== Correctly allocate unknown sub-options Arran Cudbard-Bell@2014-09-09T19:31:34Z Files modified: * src/modules/proto_dhcp/dhcp.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/468a63cb515195844c27d... ====== Merge pull request #787 from spbnick/coverity_fixes1 Coverity fixes part 1 Alan DeKok@2014-09-09T19:29:00Z Files modified: * src/main/listen.c * src/main/radsniff.c * src/modules/proto_dhcp/dhcp.c * src/modules/proto_dhcp/dhcpclient.c * src/modules/proto_dhcp/dhcpd.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/fd2348e2d63a0b84d1ec0... ====== listen: Retrieve configuration pairs once Retrieve configuration pairs with cf_pair_find only once, before checking their existence, in common_socket_parse. This avoids ambiguity confusing Coverity, which otherwise reports the following issue. Error: NULL_RETURNS (CWE-476): freeradius-server-3.0.4rc2/src/main/listen.c:1139: returned_null: Function "cf_pair_find(CONF_SECTION const *, char const *)" returns null (checked 51 out of 54 times). freeradius-server-3.0.4rc2/src/main/conffile.c:2353:20: return_null: Explicitly returning null. freeradius-server-3.0.4rc2/src/main/client.c:514: example_checked: Example 1: "cf_pair_find(cs, "ipaddr")" has its value checked in "cf_pair_find(cs, "ipaddr")". freeradius-server-3.0.4rc2/src/main/conffile.c:667: example_assign: Example 2: Assigning: "cp" = return value from "cf_pair_find(cs, p)". freeradius-server-3.0.4rc2/src/main/conffile.c:668: example_checked: Example 2 (cont.): "cp" has its value checked in "cp". freeradius-server-3.0.4rc2/src/main/command.c:1556: example_assign: Example 3: Assigning: "cp" = return value from "cf_pair_find(mi->cs, argv[1])". freeradius-server-3.0.4rc2/src/main/command.c:1557: example_checked: Example 3 (cont.): "cp" has its value checked in "cp". freeradius-server-3.0.4rc2/src/main/listen.c:103: example_assign: Example 4: Assigning: "cp" = return value from "cf_pair_find(request->listener->cs, fmt)". freeradius-server-3.0.4rc2/src/main/listen.c:104: example_checked: Example 4 (cont.): "cp" has its value checked in "cp". freeradius-server-3.0.4rc2/src/main/mainconfig.c:345: example_assign: Example 5: Assigning: "cp" = return value from "cf_pair_find(request->client->cs, fmt)". freeradius-server-3.0.4rc2/src/main/mainconfig.c:346: example_checked: Example 5 (cont.): "cp" has its value checked in "cp". freeradius-server-3.0.4rc2/src/main/listen.c:1139: var_assigned: Assigning: "cp" = null return value from "cf_pair_find(CONF_SECTION const *, char const *)". freeradius-server-3.0.4rc2/src/main/listen.c:1142: dereference: Dereferencing a pointer that might be null "cp" when calling "cf_log_err_cp(CONF_PAIR const *, char const *, ...)". freeradius-server-3.0.4rc2/src/main/conffile.c:2930:2: deref_parm: Directly dereferencing parameter "cp". Nikolai Kondrashov@2014-09-09T17:06:27Z Files modified: * src/main/listen.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/e431472f4db2998aef520... ====== dhcpclient: Verify socket timeout was set Verify the return code of setsockopt, as it may fail, in dhcpclient.c. Coverity has reported the following error for this issue. Error: CHECKED_RETURN (CWE-252): freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpclient.c:424: check_return: Calling function "setsockopt(sockfd, 1, 20, (char *)&tv, 16U)" without checking return value. This library function may fail and return an error code. freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpclient.c:424: unchecked_value: No check of the return value of "setsockopt(sockfd, 1, 20, (char *)&tv, 16U)". Nikolai Kondrashov@2014-09-09T17:06:27Z Files modified: * src/modules/proto_dhcp/dhcpclient.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/9984ca85c77282928f424... ====== dhcpd: Check cf_item_parse result Check the result of cf_item_parse for error, propagating it up the stack in dhcp_socket_parse. Coverity has reported the following errors for this issue. Error: CHECKED_RETURN (CWE-252): freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpd.c:638: check_return: Calling function "cf_item_parse(CONF_SECTION *, char const *, int, void *, char const *)" without checking return value (as is done elsewhere 12 out of 14 times). freeradius-server-3.0.4rc2/src/main/conffile.c:1416: example_assign: Example 1: Assigning: "ret" = return value from "cf_item_parse(cs, (variables + i).name, (variables + i).type, data, (variables + i).dflt)". freeradius-server-3.0.4rc2/src/main/conffile.c:1417: example_checked: Example 1 (cont.): "ret" has its value checked in "ret < 0". freeradius-server-3.0.4rc2/src/main/command.c:1569: example_assign: Example 2: Assigning: "rcode" = return value from "cf_item_parse(mi->cs, argv[1], (variables + i).type, data, argv[2])". freeradius-server-3.0.4rc2/src/main/command.c:1570: example_checked: Example 2 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/listen.c:916: example_assign: Example 3: Assigning: "rcode" = return value from "cf_item_parse(cs, "ipaddr", 14, &ipaddr, NULL)". freeradius-server-3.0.4rc2/src/main/listen.c:917: example_checked: Example 3 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/listen.c:2834: example_assign: Example 4: Assigning: "rcode" = return value from "cf_item_parse(cs, "type", 1, &listen_type, "")". freeradius-server-3.0.4rc2/src/main/listen.c:2835: example_checked: Example 4 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/radmin.c:530: example_assign: Example 5: Assigning: "rcode" = return value from "cf_item_parse(subcs, "socket", 1, &file, NULL)". freeradius-server-3.0.4rc2/src/main/radmin.c:531: example_checked: Example 5 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpd.c:638: unchecked_value: No check of the return value of "cf_item_parse(cs, "suppress_responses", 23, &sock->suppress_responses, NULL)". Error: CHECKED_RETURN (CWE-252): freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpd.c:643: check_return: Calling function "cf_item_parse(CONF_SECTION *, char const *, int, void *, char const *)" without checking return value (as is done elsewhere 12 out of 14 times). freeradius-server-3.0.4rc2/src/main/conffile.c:1416: example_assign: Example 1: Assigning: "ret" = return value from "cf_item_parse(cs, (variables + i).name, (variables + i).type, data, (variables + i).dflt)". freeradius-server-3.0.4rc2/src/main/conffile.c:1417: example_checked: Example 1 (cont.): "ret" has its value checked in "ret < 0". freeradius-server-3.0.4rc2/src/main/command.c:1569: example_assign: Example 2: Assigning: "rcode" = return value from "cf_item_parse(mi->cs, argv[1], (variables + i).type, data, argv[2])". freeradius-server-3.0.4rc2/src/main/command.c:1570: example_checked: Example 2 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/listen.c:916: example_assign: Example 3: Assigning: "rcode" = return value from "cf_item_parse(cs, "ipaddr", 14, &ipaddr, NULL)". freeradius-server-3.0.4rc2/src/main/listen.c:917: example_checked: Example 3 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/listen.c:2834: example_assign: Example 4: Assigning: "rcode" = return value from "cf_item_parse(cs, "type", 1, &listen_type, "")". freeradius-server-3.0.4rc2/src/main/listen.c:2835: example_checked: Example 4 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/main/radmin.c:530: example_assign: Example 5: Assigning: "rcode" = return value from "cf_item_parse(subcs, "socket", 1, &file, NULL)". freeradius-server-3.0.4rc2/src/main/radmin.c:531: example_checked: Example 5 (cont.): "rcode" has its value checked in "rcode < 0". freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcpd.c:643: unchecked_value: No check of the return value of "cf_item_parse(cs, "src_interface", 1, &sock->src_interface, NULL)". Nikolai Kondrashov@2014-09-09T17:06:27Z Files modified: * src/modules/proto_dhcp/dhcpd.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/4de0473f1a2f63a91450d... ====== dhcp: Remove unused attribute allocation Remove unused and unfreed unknown attribute allocation to prevent memory leak. Coverity has reported the following error for this issue. Error: RESOURCE_LEAK (CWE-772): freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:956: alloc_fn: Storage is returned from allocation function "dict_attrunknown(unsigned int, unsigned int, int)". freeradius-server-3.0.4rc2/src/lib/dict.c:2666:2: alloc_fn: Storage is returned from allocation function "malloc(size_t)". freeradius-server-3.0.4rc2/src/lib/dict.c:2666:2: var_assign: Assigning: "da" = "malloc(148UL)". freeradius-server-3.0.4rc2/src/lib/dict.c:2671:2: noescape: Resource "da" is not freed or pointed-to in function "memset(void *, int, size_t)". freeradius-server-3.0.4rc2/src/lib/dict.c:2687:2: var_assign: Assigning: "p" = "da". freeradius-server-3.0.4rc2/src/lib/dict.c:2689:2: noescape: Resource "p" is not freed or pointed-to in function "snprintf(char * restrict, size_t, char const * restrict, ...)". freeradius-server-3.0.4rc2/src/lib/dict.c:2712:3: noescape: Resource "p" is not freed or pointed-to in function "snprintf(char * restrict, size_t, char const * restrict, ...)". freeradius-server-3.0.4rc2/src/lib/dict.c:2718:2: noescape: Resource "p" is not freed or pointed-to in function "print_attr_oid(char *, size_t, unsigned int, int)". freeradius-server-3.0.4rc2/src/lib/dict.c:2546:36: noescape: "print_attr_oid(char *, size_t, unsigned int, int)" does not free or save its pointer parameter "buffer". freeradius-server-3.0.4rc2/src/lib/dict.c:2720:2: return_alloc: Returning allocated memory "da". freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:956: var_assign: Assigning: "da" = storage returned from "dict_attrunknown(p[0], 54U, 1)". freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:991: leaked_storage: Variable "da" going out of scope leaks the storage it points to. Nikolai Kondrashov@2014-09-09T17:06:27Z Files modified: * src/modules/proto_dhcp/dhcp.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/6d1c8c3d758d3f7f479c1... ====== radsniff: Fix buffer overruns Divide by the element size when checking for circular buffer wrap in rs_response_to_pcap and rs_request_to_pcap. The following Coverity errors were reported for the defect. Error: OVERRUN (CWE-119): freeradius-server-3.0.4rc2/src/main/radsniff.c:934: illegal_address: "&request->capture[80UL]" evaluates to an address that is at byte offset 1280 of an array of 80 bytes. Error: SIZEOF_MISMATCH (CWE-398): freeradius-server-3.0.4rc2/src/main/radsniff.c:934: suspicious_pointer_arithmetic: Adding "80UL /* sizeof (request->capture) */" to pointer "request->capture" of type "rs_capture_t [5]" is suspicious because adding an integral value to this pointer automatically scales that value by the size, 16 bytes, of the pointed-to type, "rs_capture_t". Most likely, you intended to use the number of elements in "request->capture" rather than its size in bytes. Error: OVERRUN (CWE-119): freeradius-server-3.0.4rc2/src/main/radsniff.c:972: illegal_address: "&request->capture[80UL]" evaluates to an address that is at byte offset 1280 of an array of 80 bytes. Error: SIZEOF_MISMATCH (CWE-398): freeradius-server-3.0.4rc2/src/main/radsniff.c:972: suspicious_pointer_arithmetic: Adding "80UL /* sizeof (request->capture) */" to pointer "request->capture" of type "rs_capture_t [5]" is suspicious because adding an integral value to this pointer automatically scales that value by the size, 16 bytes, of the pointed-to type, "rs_capture_t". Most likely, you intended to use the number of elements in "request->capture" rather than its size in bytes. Nikolai Kondrashov@2014-09-09T17:06:27Z Files modified: * src/main/radsniff.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/84f48f3072022e4209a48... ====== Fix typo. Closes #784 Alan T. DeKok@2014-09-09T15:15:16Z Files modified: * raddb/mods-available/dhcp_sqlippool Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/a55ec278c50e331d7af1c... ====== Fix typo. Closes #783 Alan T. DeKok@2014-09-09T14:15:51Z Files modified: * raddb/mods-config/sql/ippool-dhcp/mysql/queries.conf Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/00f6744e7231454795175... ====== TLV memory should be zerod in DHCP suboption encoder Arran Cudbard-Bell@2014-09-09T14:07:21Z Files modified: * src/modules/proto_dhcp/dhcp.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/c4fb4a5ddb641eeb668ab... ====== Allow bootstrap from multiple files in sqlite driver Arran Cudbard-Bell@2014-09-09T03:57:06Z Files modified: * src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/f3641b61ecaa382c646b1... ====== Generate snakeoil certs on package install (debian) Arran Cudbard-Bell@2014-09-09T03:56:28Z Files modified: * debian/freeradius-config.postinst * debian/freeradius.postinst * debian/rules * raddb/all.mk Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/481e0f2a2ad2532bd2000... ====== Line endings Arran Cudbard-Bell@2014-09-09T03:55:27Z Files modified: * debian/rules Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/95e63212084f2d422fc96... ====== Quiet gcc Arran Cudbard-Bell@2014-09-08T18:09:41Z Files modified: * src/main/tmpl.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/15b51949c7cf2edc885e5... ====== -- This commit summary was generated @2014-09-10T00:00:01Z by lgfeed version 0.00 (https://github.com/arr2036/lgfeed).