TelenkovDmitry 7 yıl önce
ebeveyn
işleme
5493937290
2 değiştirilmiş dosya ile 23 ekleme ve 2 silme
  1. 15 1
      modules/radius/radius_user.c
  2. 8 1
      modules/radius/radius_user.h

+ 15 - 1
modules/radius/radius_user.c

@@ -68,7 +68,7 @@ DICT_ATTR   attr_3;
 static char fr_msg[PW_MAX_MSG_SIZE];
 
 
-void FR_Login(char* login, char* pas)
+RadiusClientResult RC_Login(char* login, char* pas)
 {
     VALUE_PAIR* send;
     VALUE_PAIR* received;
@@ -98,7 +98,21 @@ void FR_Login(char* login, char* pas)
     
     rcHandle.dictionary_attributes = &attr_3;
     
+/*    
+	// Fill in User-Name
+    if (rc_avpair_add(&rcHandle, &send, PW_USER_NAME, username_realm, -1, 0) == NULL)
+		return RC_ERROR;
     
+	// Fill in User-Password
+	if (rc_avpair_add(&rcHandle, &send, PW_USER_PASSWORD, passwd, -1, 0) == NULL)
+		return RC_ERROR;
+
+	
+	// Fill in Service-Type
+	service = PW_AUTHENTICATE_ONLY;
+	if (rc_avpair_add(&rcHandle, &send, PW_SERVICE_TYPE, &service, -1, 0) == NULL)
+		return RC_ERROR;
+*/
 }
 
 /**

+ 8 - 1
modules/radius/radius_user.h

@@ -17,6 +17,13 @@
 #include "lwip/sockets.h"
 #include <stdbool.h>
 
+typedef enum
+{
+    RC_ERROR = 0,   // Внутренняя ошибка FreeRadius
+    RC_EMPTY,
+    
+} RadiusClientResult;
+
 
 typedef struct 
 {
@@ -30,7 +37,7 @@ typedef struct
   
 } fdsets;
 
-void FR_Login(char* login, char* pas);
+RadiusClientResult RC_Login(char* login, char* pas);
 
 /**
   * @brief