unfreeze request - radiusclient-ng (0.5.5-1)
Mark Purcell
msp at debian.org
Tue Feb 6 23:04:36 UTC 2007
debian-release,
This unfreeze request is purely an upstream bug fix for 64-bit architectures.
Without it radiusclient-ng will not operate on 64-bit architectures.
Mark
radiusclient-ng (0.5.5-1) unstable; urgency=medium
* New upstream release
[ Mark Purcell ]
* Urgency medium as this release fixes 64-bit architectures
-- Jan Janak <jan at iptel.org> Mon, 5 Feb 2007 13:17:10 +0100
Ignoring Makefile changes the debdiff is:
diff -Nru /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/CHANGES /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/CHANGES
--- /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/CHANGES 2005-03-01
14:58:44.000000000 +0000
+++ /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/CHANGES 2007-02-05
12:54:01.000000000 +0000
@@ -1,8 +1,11 @@
-$Id: CHANGES,v 1.2 2005/03/01 14:58:44 janakj Exp $
+$Id: CHANGES,v 1.4 2007/02/05 12:54:01 janakj Exp $
This file only documents fixed bugs and new features.. well, if I am not
too lazy...
+05-02-2006 * 64-bit fixes ported from freeradius-client (jan at iptel.org)
+ * removed debian/Makefile from configure.in (jan at iptel.org)
+
01-03-2005 Renamed to radiusclient-ng because the API is different
and this change will make it possible to have the original
libraries installed as well (jan at iptel.org).
diff -Nru /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/include/radiusclient-ng.h /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/include/radiusclient-ng.h
--- /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/include/radiusclient-ng.h 2005-07-21 09:01:07.000000000 +0100
+++ /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/include/radiusclient-ng.h 2006-05-17 19:14:35.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * $Id: radiusclient-ng.h,v 1.3 2005/07/21 08:01:07 sobomax Exp $
+ * $Id: radiusclient-ng.h,v 1.5 2006/05/17 18:14:35 sobomax Exp $
*
* Copyright (C) 1995,1996,1997,1998 Lars Fenneberg
*
@@ -18,6 +18,7 @@
#define RADIUSCLIENT_NG_H
#include <sys/types.h>
+#include <stdint.h>
#include <stdio.h>
#include <time.h>
@@ -31,8 +32,8 @@
# define __END_DECLS /* empty */
#endif
-typedef unsigned long UINT4;
-typedef long INT4;
+typedef uint32_t UINT4;
+typedef int32_t INT4;
#define AUTH_VECTOR_LEN 16
#define AUTH_PASS_LEN (3 * 16) /* multiple of 16 */
diff -Nru /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/lib/avpair.c /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/lib/avpair.c
--- /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/lib/avpair.c 2005-04-01 02:33:10.000000000 +0100
+++ /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/lib/avpair.c 2006-05-30 20:18:03.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * $Id: avpair.c,v 1.15 2005/04/01 01:33:10 sobomax Exp $
+ * $Id: avpair.c,v 1.17 2006/05/30 19:18:03 sobomax Exp $
*
* Copyright (C) 1995 Lars Fenneberg
*
@@ -130,10 +130,13 @@
case PW_DIGEST_NONCE_COUNT:
case PW_DIGEST_USER_NAME:
/* overlapping! */
+ if (vp->lvalue > AUTH_STRING_LEN - 2)
+ vp->lvalue = AUTH_STRING_LEN - 2;
memmove(&vp->strvalue[2], &vp->strvalue[0], vp->lvalue);
vp->strvalue[0] = vp->attribute - PW_DIGEST_REALM + 1;
vp->lvalue += 2;
vp->strvalue[1] = vp->lvalue;
+ vp->strvalue[vp->lvalue] = '\0';
vp->attribute = PW_DIGEST_ATTRIBUTES;
default:
break;
@@ -412,7 +415,8 @@
while (*ptr != '"' && *ptr != '\0' && *ptr != '\n')
{
if (string < estring)
- *string++ = *ptr++;
+ *string++ = *ptr;
+ ptr++;
}
if (*ptr == '"')
{
@@ -426,7 +430,8 @@
while (*ptr != '\0' && strchr(stopat, *ptr) == NULL)
{
if (string < estring)
- *string++ = *ptr++;
+ *string++ = *ptr;
+ ptr++;
}
*string = '\0';
*uptr = ptr;
@@ -453,7 +458,7 @@
{
int mode;
char attrstr[AUTH_ID_LEN];
- char valstr[AUTH_STRING_LEN];
+ char valstr[AUTH_STRING_LEN + 1];
DICT_ATTR *attr = NULL;
DICT_VALUE *dval;
VALUE_PAIR *pair;
@@ -594,10 +599,13 @@
case PW_DIGEST_NONCE_COUNT:
case PW_DIGEST_USER_NAME:
/* overlapping! */
+ if (pair->lvalue > AUTH_STRING_LEN - 2)
+ pair->lvalue = AUTH_STRING_LEN - 2;
memmove(&pair->strvalue[2], &pair->strvalue[0], pair->lvalue);
pair->strvalue[0] = pair->attribute - PW_DIGEST_REALM + 1;
pair->lvalue += 2;
pair->strvalue[1] = pair->lvalue;
+ pair->strvalue[pair->lvalue] = '\0';
pair->attribute = PW_DIGEST_ATTRIBUTES;
}
@@ -673,7 +681,7 @@
}
else
{
- strncat(value, ptr, 1);
+ strncat(value, (char *)ptr, 1);
lv--;
if (lv < 0) break;
}
diff -Nru /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/lib/sendserver.c /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/lib/sendserver.c
--- /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/lib/sendserver.c 2005-07-21 09:01:07.000000000 +0100
+++ /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/lib/sendserver.c 2006-07-05 01:27:54.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * $Id: sendserver.c,v 1.15 2005/07/21 08:01:07 sobomax Exp $
+ * $Id: sendserver.c,v 1.18 2006/07/05 00:27:54 sobomax Exp $
*
* Copyright (C) 1995,1996,1997 Lars Fenneberg
*
@@ -81,7 +81,7 @@
memcpy ((char *) passbuf, vp->strvalue, (size_t) length);
secretlen = strlen (secret);
- vector = (char *)auth->vector;
+ vector = (unsigned char *)auth->vector;
for(i = 0; i < padded_length; i += AUTH_VECTOR_LEN)
{
/* Calculate the MD5 digest*/
@@ -183,7 +183,7 @@
AUTH_HDR *auth, *recv_auth;
UINT4 auth_ipaddr, nas_ipaddr;
char *server_name; /* Name of server to query */
- int salen;
+ socklen_t salen;
int result;
int total_length;
int length;
@@ -271,7 +271,7 @@
memset((char *) auth->vector, 0, AUTH_VECTOR_LEN);
secretlen = strlen (secret);
memcpy ((char *) auth + total_length, secret, secretlen);
- rc_md5_calc (vector, (char *) auth, total_length + secretlen);
+ rc_md5_calc (vector, (unsigned char *) auth, total_length + secretlen);
memcpy ((char *) auth->vector, (char *) vector, AUTH_VECTOR_LEN);
}
else
@@ -401,6 +401,9 @@
int totallen;
unsigned char calc_digest[AUTH_VECTOR_LEN];
unsigned char reply_digest[AUTH_VECTOR_LEN];
+#ifdef DIGEST_DEBUG
+ u_char *ptr;
+#endif
totallen = ntohs (auth->length);
secretlen = strlen (secret);
@@ -445,9 +448,9 @@
rc_log(LOG_ERR, " %s", buf);
}
#endif
- rc_md5_calc (calc_digest, (char *) auth, totallen + secretlen);
+ rc_md5_calc (calc_digest, (unsigned char *) auth, totallen + secretlen);
#ifdef DIGEST_DEBUG
- rc_log(LOG_ERR, "Digest is:");
+ rc_log(LOG_ERR, "Calculated digest is:");
for (ptr = (u_char *)calc_digest; ptr < ((u_char *)calc_digest) + 16; ptr += 32) {
char buf[65];
int i;
@@ -460,24 +463,19 @@
}
rc_log(LOG_ERR, " %s", buf);
}
-#endif
-
-#ifdef DIGEST_DEBUG
- {
- int i;
+ rc_log(LOG_ERR, "Reply digest is:");
+ for (ptr = (u_char *)reply_digest; ptr < ((u_char *)reply_digest) + 16; ptr += 32) {
+ char buf[65];
+ int i;
- fputs("reply_digest: ", stderr);
- for (i = 0; i < AUTH_VECTOR_LEN; i++)
- {
- fprintf(stderr,"%.2x ", (int) reply_digest[i]);
- }
- fputs("\ncalc_digest: ", stderr);
- for (i = 0; i < AUTH_VECTOR_LEN; i++)
- {
- fprintf(stderr,"%.2x ", (int) calc_digest[i]);
- }
- fputs("\n", stderr);
- }
+ buf[0] = '\0';
+ for (i = 0; i < 32; i++) {
+ if (ptr + i >= ((u_char *)reply_digest) + 16)
+ break;
+ sprintf(buf + i * 2, "%.2X", ptr[i]);
+ }
+ rc_log(LOG_ERR, " %s", buf);
+ }
#endif
if (memcmp ((char *) reply_digest, (char *) calc_digest,
diff -Nru /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/src/radiusclient.c /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/src/radiusclient.c
--- /tmp/Jk0DjtGJ17/radiusclient-ng-0.5.3/src/radiusclient.c 2005-03-01 14:58:44.000000000 +0000
+++ /tmp/WWhXiWNXFX/radiusclient-ng-0.5.5/src/radiusclient.c 2006-04-04 21:52:04.000000000 +0100
@@ -23,12 +23,13 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: radiusclient.c,v 1.5 2005/03/01 14:58:44 janakj Exp $
+ * $Id: radiusclient.c,v 1.6 2006/04/04 20:52:04 sobomax Exp $
*/
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include <radiusclient-ng.h>
@@ -46,8 +47,9 @@
int
main(int argc, char **argv)
{
- int i, nas_port, ch, acct, server, ecount, firstline, len, theend;
+ int i, nas_port, ch, acct, server, ecount, firstline, theend;
void *rh;
+ size_t len;
VALUE_PAIR *send, **vp;
char *rc_conf, *cp;
char lbuf[4096];
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-voip-maintainers/attachments/20070206/715cbe54/attachment.pgp
More information about the Pkg-voip-maintainers
mailing list