diff -u kadm5-0.2.3//config.m4 kadm5-0.2.4//config.m4
--- kadm5-0.2.3//config.m4 2003-05-10 00:28:45.000000000 +1000
+++ kadm5-0.2.4//config.m4 2012-02-21 09:07:04.898454002 +1100
@@ -59,7 +59,6 @@
PHP_ADD_LIBRARY_WITH_PATH(gssrpc, /usr/lib, KADM5_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(krb5, /usr/lib, KADM5_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(k5crypto, /usr/lib, KADM5_SHARED_LIBADD)
- PHP_ADD_LIBRARY_WITH_PATH(dyn, /usr/lib, KADM5_SHARED_LIBADD)
PHP_EXTENSION(kadm5, $ext_shared)
fi
diff -u kadm5-0.2.3//CREDITS kadm5-0.2.4//CREDITS
--- kadm5-0.2.3//CREDITS 2003-05-08 17:48:51.000000000 +1000
+++ kadm5-0.2.4//CREDITS 2012-02-21 09:07:04.898454002 +1100
@@ -1,2 +1,3 @@
kadm5
Holger Burbach
+Edward Murrell
Common subdirectories: kadm5-0.2.3//doc and kadm5-0.2.4//doc
Common subdirectories: kadm5-0.2.3//examples and kadm5-0.2.4//examples
diff -u kadm5-0.2.3//kadm5.c kadm5-0.2.4//kadm5.c
--- kadm5-0.2.3//kadm5.c 2003-05-28 20:51:42.000000000 +1000
+++ kadm5-0.2.4//kadm5.c 2012-02-21 09:16:04.698454003 +1100
@@ -104,7 +104,7 @@
NULL,
PHP_MINFO(kadm5),
#if ZEND_MODULE_API_NO >= 20010901
- "0.2.3",
+ "0.2.4",
#endif
STANDARD_MODULE_PROPERTIES
};
@@ -436,6 +436,7 @@
php_error(E_WARNING, "Multiple values for single or folded enctype. (KADM5_SETKEY_DUP_ENCTYPES)");
break;
default:
+ break;
}
}
/* }}} */
@@ -450,13 +451,15 @@
kadm5_config_params params;
void *handle = NULL;
kadm5_ret_t rc;
+ krb5_error_code rv;
+ krb5_context ctx;
+ char **db_args = NULL;
memset((char *) ¶ms, 0, sizeof(params));
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss",
- &admin_server, &admin_server_len,
- &realm, &realm_len, &princstr, &princstr_len,
- &password, &password_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss",
+ &admin_server, &admin_server_len, &realm, &realm_len,
+ &princstr, &princstr_len, &password, &password_len) == FAILURE) {
WRONG_PARAM_COUNT;
}
@@ -465,13 +468,22 @@
params.admin_server = admin_server;
params.mask |= KADM5_CONFIG_ADMIN_SERVER;
- rc = kadm5_init_with_password(princstr,
- password,
- KADM5_ADMIN_SERVICE,
- ¶ms,
- KADM5_STRUCT_VERSION,
- KADM5_API_VERSION_2,
- &handle);
+ rv = krb5_init_context(&ctx);
+ if (rv) {
+ php_error(E_WARNING, "Error while initializing krb5 library");
+ RETURN_FALSE;
+ }
+
+ rc = kadm5_init_with_password(
+ ctx,
+ princstr,
+ password,
+ KADM5_CHANGEPW_SERVICE,
+ ¶ms,
+ KADM5_STRUCT_VERSION,
+ KADM5_API_VERSION_3,
+ db_args,
+ &handle);
if (rc) {
kadm5_error(rc);
@@ -492,16 +504,21 @@
Closes the connection to the admin server and releases all related resources. */
PHP_FUNCTION(kadm5_destroy)
{
- zval **link;
+ zval *link;
void *handle;
+ kadm5_ret_t rc;
- if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &link ) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &link) == FAILURE)
+ RETURN_NULL();
+
+ ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle);
+ rc = kadm5_destroy(handle);
- ZEND_FETCH_RESOURCE(handle, void *, link, -1, HANDLE_ID, le_handle);
+ if (rc) {
+ kadm5_error(rc);
+ RETURN_FALSE;
+ }
- zend_list_delete((*link)->value.lval);
RETURN_TRUE;
}
/* }}} */
@@ -511,16 +528,15 @@
Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open. */
PHP_FUNCTION(kadm5_flush)
{
- zval **link;
+ zval *link;
void *handle;
kadm5_ret_t rc;
- if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &link ) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
-
- ZEND_FETCH_RESOURCE(handle, void *, link, -1, HANDLE_ID, le_handle);
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &link)
+ == FAILURE)
+ RETURN_NULL();
+ ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle);
rc = kadm5_flush(handle);
if (rc) {
diff -u kadm5-0.2.3//package.xml kadm5-0.2.4//package.xml
--- kadm5-0.2.3//package.xml 2003-06-03 18:19:47.000000000 +1000
+++ kadm5-0.2.4//package.xml 2012-02-21 09:07:04.898454002 +1100
@@ -17,18 +17,24 @@
holger.burbach@gonicus.de
lead
+
+ edward.murrell
+ Edward Murrell
+ edward@murrell.co.nz
+ developer
+
LGPL
- 0.2.3
- 2003-05-22
+ 0.2.4
+ 2012-02-21
alpha
- - Release 0.2.3
- - Code cleanup (CODING_STANDARDS)
- - Throwing E_WARNINGs instead of E_ERRORs
+ - Release 0.2.4
+ - Updated to support MIT Kerberos 1.8
+ - Removed use of deprecated ZEND API functions
@@ -60,6 +66,18 @@
+ 0.2.4
+ 2012-02-21
+ alpha
+
+ - Release 0.2.4
+ - Updated to support MIT Kerberos 1.8
+ - Removed use of deprecated ZEND API functions
+
+
+
+
+
0.2.3
2003-05-22
alpha
diff -u kadm5-0.2.3//README kadm5-0.2.4//README
--- kadm5-0.2.3//README 2003-06-03 18:31:10.000000000 +1000
+++ kadm5-0.2.4//README 2012-02-21 09:07:04.898454002 +1100
@@ -1,18 +1,15 @@
-Well, the config.m4 file is still a mess. Unfortenately there is no
-libkadm55-dev debian package yet. So you have to have the krb5 sources
-at hand and change config.m4 accordingly.
+This is mostly Holger Burbach's work. I've brought it up to date to work with
+MIT Kerberos 1.8.x, but there's some work to go before it works with heimdal,
+which has it's own API.
-To successfully compile this extension under Debian you need the
+To successfully compile this extension under Debian/Ubuntu you need the
following Kerberos packages:
libkrb5
libkrb5-dev
libkadm55
-
-The missing of libkadm55-dev has already been reported to the libkadm55
-maintainer: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=191616
+libkadm5clnt-mit7
If there are any questions or problems, feel free to contact me:
-Holger Burbach
-
+Edward Murrell
Common subdirectories: kadm5-0.2.3//tests and kadm5-0.2.4//tests