diff --git a/package.xml b/package.xml
index c747431..9aa5104 100644
--- a/package.xml
+++ b/package.xml
@@ -22,7 +22,7 @@ OS (for example against Windows Active-Directory via IAS).
2016-02-15
- 1.4.0b1
+ 1.4.1
1.4.0b1
@@ -44,11 +44,11 @@ OS (for example against Windows Active-Directory via IAS).
-
+
-
+
-
+
@@ -87,13 +87,15 @@ OS (for example against Windows Active-Directory via IAS).
-
-
+
+
-
-
+
+
+
+
diff --git a/php_radius.h b/php_radius.h
index c4a7644..a263de7 100644
--- a/php_radius.h
+++ b/php_radius.h
@@ -39,7 +39,7 @@ any other GPL-like (LGPL, GPL2) License.
#define phpext_radius_ptr &radius_module_entry
-#define PHP_RADIUS_VERSION "1.4.0b1"
+#define PHP_RADIUS_VERSION "1.4.1"
#ifdef PHP_WIN32
#define PHP_RADIUS_API __declspec(dllexport)
diff --git a/radius.c b/radius.c
index eb30e69..92e9171 100644
--- a/radius.c
+++ b/radius.c
@@ -68,202 +68,7 @@ ZEND_DECLARE_MODULE_GLOBALS(radius)
/* True global resources - no need for thread safety here */
static int le_radius;
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_auth_open, 0, 0, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_acct_open, 0, 0, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_close, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_strerror, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_config, 0, 0, 2)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, file)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_add_server, 0, 0, 6)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, hostname)
- ZEND_ARG_INFO(0, port)
- ZEND_ARG_INFO(0, secret)
- ZEND_ARG_INFO(0, timeout)
- ZEND_ARG_INFO(0, max_tries)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_create_request, 0, 0, 2)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, type)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_string, 0, 0, 3)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_int, 0, 0, 3)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_attr, 0, 0, 3)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_addr, 0, 0, 3)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, addr)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_vendor_string, 0, 0, 4)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, vendor)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_vendor_int, 0, 0, 4)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, vendor)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_vendor_attr, 0, 0, 4)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, vendor)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_put_vendor_addr, 0, 0, 4)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, vendor)
- ZEND_ARG_INFO(0, type)
- ZEND_ARG_INFO(0, addr)
- ZEND_ARG_INFO(0, options)
- ZEND_ARG_INFO(0, tag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_send_request, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_get_attr, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_get_tagged_attr_data, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_get_tagged_attr_tag, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_get_vendor_attr, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_cvt_addr, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_cvt_int, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_cvt_string, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_salt_encrypt_attr, 0, 0, 2)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_request_authenticator, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_server_secret, 0, 0, 1)
- ZEND_ARG_INFO(0, radius_handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_demangle, 0, 0, 2)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, mangled)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_radius_demangle_mppe_key, 0, 0, 2)
- ZEND_ARG_INFO(0, radius_handle)
- ZEND_ARG_INFO(0, mangled)
-ZEND_END_ARG_INFO()
-
-/* }}} */
-
-
-/* {{{ radius_functions[]
- *
- * Every user visible function must have an entry in radius_functions[].
- */
-zend_function_entry radius_functions[] = {
- PHP_FE(radius_auth_open, arginfo_radius_auth_open)
- PHP_FE(radius_acct_open, arginfo_radius_acct_open)
- PHP_FE(radius_close, arginfo_radius_close)
- PHP_FE(radius_strerror, arginfo_radius_strerror)
- PHP_FE(radius_config, arginfo_radius_config)
- PHP_FE(radius_add_server, arginfo_radius_add_server)
- PHP_FE(radius_create_request, arginfo_radius_create_request)
- PHP_FE(radius_put_string, arginfo_radius_put_string)
- PHP_FE(radius_put_int, arginfo_radius_put_int)
- PHP_FE(radius_put_attr, arginfo_radius_put_attr)
- PHP_FE(radius_put_addr, arginfo_radius_put_addr)
- PHP_FE(radius_put_vendor_string, arginfo_radius_put_vendor_string)
- PHP_FE(radius_put_vendor_int, arginfo_radius_put_vendor_int)
- PHP_FE(radius_put_vendor_attr, arginfo_radius_put_vendor_attr)
- PHP_FE(radius_put_vendor_addr, arginfo_radius_put_vendor_addr)
- PHP_FE(radius_send_request, arginfo_radius_get_attr)
- PHP_FE(radius_get_attr, arginfo_radius_get_attr)
- PHP_FE(radius_get_tagged_attr_data, arginfo_radius_get_tagged_attr_data)
- PHP_FE(radius_get_tagged_attr_tag, arginfo_radius_get_tagged_attr_tag)
- PHP_FE(radius_get_vendor_attr, arginfo_radius_get_vendor_attr)
- PHP_FE(radius_cvt_addr, arginfo_radius_cvt_addr)
- PHP_FE(radius_cvt_int, arginfo_radius_cvt_int)
- PHP_FE(radius_cvt_string, arginfo_radius_cvt_string)
- PHP_FE(radius_salt_encrypt_attr, arginfo_radius_salt_encrypt_attr)
- PHP_FE(radius_request_authenticator, arginfo_radius_request_authenticator)
- PHP_FE(radius_server_secret, arginfo_radius_server_secret)
- PHP_FE(radius_demangle, arginfo_radius_demangle)
- PHP_FE(radius_demangle_mppe_key, arginfo_radius_demangle_mppe_key)
- {NULL, NULL, NULL} /* Must be the last line in radius_functions[] */
-};
-/* }}} */
+#include "radius_arginfo.h"
/* {{{ radius_module_entry
*/
@@ -272,7 +77,7 @@ zend_module_entry radius_module_entry = {
STANDARD_MODULE_HEADER,
#endif
"radius",
- radius_functions,
+ ext_functions,
PHP_MINIT(radius),
PHP_MSHUTDOWN(radius),
NULL,
diff --git a/radius.stub.php b/radius.stub.php
new file mode 100644
index 0000000..71c8999
--- /dev/null
+++ b/radius.stub.php
@@ -0,0 +1,126 @@
+