Hi Alan,

I have patches attached from RedHat for freeradius 1.1.3  .
Can we have a patched release  from freeradius 1.1.7 ??

Thanks
Amr



Alan DeKok wrote:
Edvin Seferovic wrote:
  
I am also curious about the answer on this question ! Are there any plans to
implement AgentX protocol into freeradius project? 
    

  No plans.

  At this point, the only plans for 2.0 are minor feature improvements
and bug fixes.  I plan on spending time working on the book, unless
otherwise motivated.

  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

  
--- freeradius-1.1.3/src/main/smux.c.1819888	2008-05-15 15:05:49.000000000 +0100
+++ freeradius-1.1.3/src/main/smux.c	2008-05-15 16:17:30.000000000 +0100
@@ -243,7 +243,7 @@
 	int ret;
 	u_char buf[BUFSIZ];
 	u_char *ptr, *h1, *h1e, *h2, *h2e;
-	int len, length;
+	size_t len, length;
 
 	ptr = buf;
 	len = BUFSIZ;
@@ -293,8 +293,8 @@
 	ret = send (rad_snmp.smux_fd, buf, length, 0);
 }
 
-static char *
-smux_var (char *ptr, int len, oid objid[], size_t *objid_len,
+static u_char *
+smux_var (u_char *ptr, size_t len, oid objid[], size_t *objid_len,
 		size_t *var_val_len,
 		u_char *var_val_type,
 		void **var_value)
@@ -591,8 +591,8 @@
 }
 
 /* GET message header. */
-static char *
-smux_parse_get_header (char *ptr, size_t *len, long *reqid)
+static u_char *
+smux_parse_get_header (u_char *ptr, size_t *len, long *reqid)
 {
 	u_char type;
 	long errstat;
@@ -617,7 +617,7 @@
 }
 
 static void
-smux_parse_set (char *ptr, size_t len, int action)
+smux_parse_set (u_char *ptr, size_t len, int action)
 {
 	long reqid;
 	oid my_oid[MAX_OID_LEN];
@@ -646,7 +646,7 @@
 }
 
 static void
-smux_parse_get (char *ptr, size_t len, int exact)
+smux_parse_get (u_char *ptr, size_t len, int exact)
 {
 	long reqid;
 	oid my_oid[MAX_OID_LEN];
@@ -679,7 +679,7 @@
 
 /* Parse SMUX_CLOSE message. */
 static void
-smux_parse_close (char *ptr, int len)
+smux_parse_close (u_char *ptr, int len)
 {
 	long reason = 0;
 
@@ -692,9 +692,9 @@
 
 /* SMUX_RRSP message. */
 static void
-smux_parse_rrsp (char *ptr, int len)
+smux_parse_rrsp (u_char *ptr, size_t len)
 {
-	char val;
+	u_char val;
 	long errstat;
 
 	ptr = asn_parse_int (ptr, &len, &val, &errstat, sizeof (errstat));
@@ -704,7 +704,7 @@
 
 /* Parse SMUX message. */
 static int
-smux_parse (char *ptr, int len)
+smux_parse (u_char *ptr, size_t len)
 {
 	/* this buffer we'll use for SOUT message. We could allocate it with malloc and
 		 save only static pointer/lenght, but IMHO static buffer is a faster solusion */
@@ -806,7 +806,7 @@
 int
 smux_read ()
 {
-	int len;
+	ssize_t len;
 	u_char buf[SMUXMAXPKTSIZE];
 	int ret;
 
@@ -835,7 +835,7 @@
 	DEBUG2 ("SMUX read len: %d", len);
 
 	/* Parse the message. */
-	ret = smux_parse (buf, len);
+	ret = smux_parse (buf, (size_t) len);
 
 	if (ret < 0) {
 		close (rad_snmp.smux_fd);
@@ -854,8 +854,8 @@
 {
 	u_char buf[BUFSIZ];
 	u_char *ptr;
-	int len;
-	u_long smux_proto_version;
+	size_t len;
+	long smux_proto_version;
 	u_char rad_progname[] = "radiusd";
 
 	smux_oid_dump ("SMUX open oid", smux_oid, smux_oid_len);
@@ -890,7 +890,7 @@
 	ptr = asn_build_string (ptr, &len,
 			(u_char)
 			(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OCTET_STR),
-			rad_snmp.smux_password, strlen(rad_snmp.smux_password));
+			(u_char *) rad_snmp.smux_password, strlen(rad_snmp.smux_password));
 
 	/* Fill in real SMUX header.	We exclude ASN header size (2). */
 	len = BUFSIZ;
@@ -904,7 +904,8 @@
 {
 	u_char buf[BUFSIZ];
 	u_char *ptr;
-	int len, ret;
+	size_t len;
+	ssize_t ret;
 	long priority;
 	long operation;
 	struct subtree *subtree;
@@ -956,7 +957,7 @@
 int
 smux_connect ()
 {
-	int ret;
+	ssize_t ret;
 
 	rad_snmp.smux_event=SMUX_NONE;
 	DEBUG2 ("SMUX connect try %d", rad_snmp.smux_failures + 1);
--- freeradius-1.1.3/src/main/radius_snmp.c.type_long	2008-05-15 23:52:29.000000000 +0100
+++ freeradius-1.1.3/src/main/radius_snmp.c	2008-05-15 23:52:37.000000000 +0100
@@ -296,12 +296,12 @@
 
 		case RADIUSACCSERVUPTIME:
 			rad_snmp.acct.uptime = (time(NULL) - rad_snmp.acct.start_time) * 100;
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.uptime;
 
 		case RADIUSACCSERVRESETTIME:
 			rad_snmp.acct.reset_time = (time(NULL) - rad_snmp.acct.last_reset_time) * 100;
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.reset_time;
 
 		case RADIUSACCSERVCONFIGRESET:
@@ -310,39 +310,39 @@
 			return (unsigned char *) &result;
 
 		case RADIUSACCSERVTOTALREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_requests;
 
 		case RADIUSACCSERVTOTALINVALIDREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_invalid_requests;
 
 		case RADIUSACCSERVTOTALDUPREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_dup_requests;
 
 		case RADIUSACCSERVTOTALRESPONSES:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_responses;
 
 		case RADIUSACCSERVTOTALMALFORMEDREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_malformed_requests;
 
 		case RADIUSACCSERVTOTALBADAUTHENTICATORS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_bad_authenticators;
 
 		case RADIUSACCSERVTOTALPACKETSDROPPED:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_packets_dropped;
 
 		case RADIUSACCSERVTOTALNORECORDS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_no_records;
 
 		case RADIUSACCSERVTOTALUNKNOWNTYPES:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.acct.total_unknown_types;
 
 	}
@@ -426,12 +426,12 @@
 
 		case RADIUSAUTHSERVUPTIME:
 			rad_snmp.auth.uptime = (time(NULL) - rad_snmp.auth.start_time) * 100;
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.uptime;
 
 		case RADIUSAUTHSERVRESETTIME:
 			rad_snmp.auth.reset_time = (time(NULL) - rad_snmp.auth.last_reset_time) * 100;
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.reset_time;
 
 		case RADIUSAUTHSERVCONFIGRESET:
@@ -440,43 +440,43 @@
 			return (unsigned char *) &result;
 
 		case RADIUSAUTHSERVTOTALACCESSREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_requests;
 
 		case RADIUSAUTHSERVTOTALINVALIDREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_invalid_requests;
 
 		case RADIUSAUTHSERVTOTALDUPACCESSREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_dup_requests;
 
 		case RADIUSAUTHSERVTOTALACCESSACCEPTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_access_accepts;
 
 		case RADIUSAUTHSERVTOTALACCESSREJECTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_access_rejects;
 
 		case RADIUSAUTHSERVTOTALACCESSCHALLENGES:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_access_challenges;
 
 		case RADIUSAUTHSERVTOTALMALFORMEDACCESSREQUESTS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_malformed_requests;
 
 		case RADIUSAUTHSERVTOTALBADAUTHENTICATORS:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_bad_authenticators;
 
 		case RADIUSAUTHSERVTOTALPACKETSDROPPED:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_packets_dropped;
 
 		case RADIUSAUTHSERVTOTALUNKNOWNTYPES:
-			*var_len = sizeof(int32_t);
+			*var_len = sizeof(long);
 			return (unsigned char *) &rad_snmp.auth.total_unknown_types;
 
 	}
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to