
radius_put_vendor_string 함수는 vendor string의 길이를 자동으로 제한하지 않습니다. 따라서, 사용자 정의 vendor string을 전송할 때, 길이가 최대 길이보다 길면 RADIUS 서버에서 에러를 발생시킬 수 있습니다.
vendor string의 길이를 제한하려면, radius_put_vendor_string 함수에 전달하는 문자열의 길이를 직접 제한해야 합니다. 예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
c
char vendor_string[256]; // 최대 길이 256
snprintf(vendor_string, sizeof(vendor_string), "%s", 사용자 정의 vendor string);
radius_put_vendor_string(radius, RADIUS_VENDOR_STRING, vendor_string);
위 코드에서는 사용자 정의 vendor string을 256자 이내로 제한하여 전송합니다.
또한, radius_put_vendor_string 함수는 전달받은 문자열을 복사하지 않습니다. 따라서, 전달받은 문자열이 변경되면, 전송된 vendor string도 변경됩니다.
따라서, 전달받은 문자열을 복사하여 전송하는 것이 좋습니다.
#hostingforum.kr
c
char vendor_string[256]; // 최대 길이 256
strcpy(vendor_string, 사용자 정의 vendor string);
radius_put_vendor_string(radius, RADIUS_VENDOR_STRING, vendor_string);
위 코드에서는 사용자 정의 vendor string을 복사하여 전송합니다.
radius_put_vendor_string 함수의 사용자 정의 vendor string 전송 시 길이 제한에 대한 내용은 위 코드를 참고하시면 됩니다.
2025-03-11 00:22