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