File freeradius-server-2.1.1-edirectory.patch of Package freeradius-server

Index: src/modules/rlm_ldap/edir_ldapext.c
===================================================================
--- src/modules/rlm_ldap/edir_ldapext.c.orig	2011-06-20 16:57:14.000000000 +0200
+++ src/modules/rlm_ldap/edir_ldapext.c	2011-09-27 15:05:37.913323658 +0200
@@ -84,11 +84,11 @@
 	BerElement *requestBer = NULL;
 
 	char    * utf8ObjPtr = NULL;
-	int     utf8ObjSize = 0;
+	ber_len_t utf8ObjSize = 0;
 	char    * utf8PwdPtr = NULL;
-	int     utf8PwdSize = 0;
+	ber_len_t utf8PwdSize = 0;
 	char    * utf8Pwd2Ptr = NULL;
-	int     utf8Pwd2Size = 0;
+	ber_len_t utf8Pwd2Size = 0;
 
 
 	utf8ObjSize = strlen(objectDN)+1;
@@ -142,7 +142,7 @@
 	/*
 	 * Convert the BER we just built to a berval that we'll send with the extended request.
 	 */
-	if(ber_flatten(requestBer, requestBV) == LBER_ERROR)
+	if(ber_flatten(requestBer, requestBV) == -1)
 	{
 		err = NMAS_E_FRAG_FAILURE;
 		goto Cleanup;
@@ -172,16 +172,17 @@
  *		buffer was supplied, tries to decode the the return data and length
  *
  * ------------------------------------------------------------------------ */
-int berDecodeLoginData(
+ber_int_t berDecodeLoginData(
 	struct berval *replyBV,
-	int      *serverVersion,
-	size_t   *retDataLen,
+	ber_int_t *serverVersion,
+	ber_len_t *retDataLen,
 	void     *retData )
 {
-	int rc=0, err = 0;
+	int rc=0;
+	ber_int_t err = 0;
 	BerElement *replyBer = NULL;
 	char    *retOctStr = NULL;
-	size_t  retOctStrLen = 0;
+	ber_len_t retOctStrLen = 0;
 
 	if((replyBer = ber_init(replyBV)) == NULL)
 	{
@@ -258,14 +259,14 @@
 	size_t   *pwdSize,	// in bytes
 	char     *pwd )
 {
-	int err = 0;
+	ber_int_t err = 0;
 
 	struct berval *requestBV = NULL;
 	char *replyOID = NULL;
 	struct berval *replyBV = NULL;
-	int serverVersion;
+	ber_int_t serverVersion;
 	char *pwdBuf;
-	size_t pwdBufLen, bufferLen;
+	ber_len_t pwdBufLen, bufferLen;
 
 #ifdef	NOT_N_PLAT_NLM
 	int currentThreadGroupID;
@@ -390,29 +391,29 @@
  *              and BER encodes the data into the BER value
  *
  * ------------------------------------------------------------------------ */
-int berEncodeAuthData(
+static int berEncodeAuthData(
         struct berval **requestBV,
         char    *objectDN,
         char    *pwd,
         char    *sequence,
         char    *NasIP,
         char    *state,
-        int     *auth_state)
+        ber_int_t     *auth_state)
 {
         int err = 0, rc=0;
         BerElement *requestBer = NULL;
 
         char    * utf8ObjPtr = NULL;
-        int     utf8ObjSize = 0;
+        ber_len_t     utf8ObjSize = 0;
         char    * utf8PwdPtr = NULL;
-        int     utf8PwdSize = 0;
+        ber_len_t     utf8PwdSize = 0;
         char    * utf8NasIPPtr = NULL;
-        int     utf8NasIPSize = 0;
+        ber_len_t     utf8NasIPSize = 0;
         char    * utf8StatePtr = NULL;
-        int     utf8StateSize = 0;
+        ber_len_t     utf8StateSize = 0;
         char    * utf8SeqPtr = NULL;
-        int     utf8SeqSize = 0;
-        int state_present = 0;
+        ber_len_t     utf8SeqSize = 0;
+        ber_int_t state_present = 0;
 
         utf8ObjSize = strlen(objectDN)+1;
         utf8ObjPtr = objectDN;
@@ -494,12 +495,12 @@
  *              buffer was supplied, tries to decode the the return data and length
  *
  * ------------------------------------------------------------------------ */
-int berDecodeAuthData(
+static int berDecodeAuthData(
         struct berval *replyBV,
-        int      *errCode,
-        size_t   *retDataLen,
+        ber_int_t *errCode,
+        ber_len_t *retDataLen,
         char     *retData,
-        int      *auth_state )
+        ber_int_t *auth_state )
 {
         int rc=0, err = 0;
         BerElement *replyBer = NULL;
@@ -563,9 +564,9 @@
         struct berval *requestBV = NULL;
         char *replyOID = NULL;
         struct berval *replyBV = NULL;
-        int errCode;
+        ber_int_t errCode;
         char *challenge;
-        size_t challengesize;
+        ber_len_t challengesize;
 
         challengesize = *statesize;
         challenge = (char *)malloc(challengesize+2);
openSUSE Build Service is sponsored by