| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Add SPDX-License-Identifier headers to all substantial source files.
Also canonicalize copyright date formats and fix a few copyright
notices that weren't in my standard layout.
|
|
|
|
|
| |
Add maintainer check-cppcheck target to run cppcheck across the source
base with a standard configuration. Fix all issues found by cppcheck.
|
|
|
|
|
|
|
|
|
|
|
| |
The PHP bindings have been ported to PHP 7, based on work by Nish
Aravamudan. The PHP 7 API is sufficiently different that this was
done by forking the PHP code and creating a new version for PHP 7 and
later, chosing which extension to compile based on the discovered
version of PHP. Currently, there is no functionality difference, but
the PHP 5 extension should be considered frozen and may not get any
new features. It will eventually be removed in a future version of
remctl when PHP 7 is sufficiently widespread.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use calloc in preference to calculating a malloc size with
multiplication everywhere, and reallocarray in preference to
calculating a realloc size. In most places this caution was probably
not necessary, but uniformity is easier to audit and no one will ever
notice the speed difference between malloc and calloc. Add explicit
overflow checks before every remaining malloc call with a calculated
size.
Change-Id: Ifc8e577b32d45751b9d64955aa1cace8a5dedde0
Reviewed-on: https://gerrit.stanford.edu/1491
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
|
|
|
|
|
|
|
| |
Change-Id: Iba0376ea03a749d81abc2eeb49b0b5cf7d3e8847
Reviewed-on: https://gerrit.stanford.edu/1353
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a Kerberos library and gss_krb5_import_cred are available at build
time, libremctl now uses them to implement remctl_set_ccache to avoid
affecting global program GSS-API state. If those requirements are
met, remctl_set_ccache will only affect the remctl context on which
it's called.
This also requires importing the Kerberos portability layer, so make
sure that it's usable for the TAP Kerberos add-on.
Change-Id: I561812d0e36df6adf52d974dd5390953940865c5
Reviewed-on: https://gerrit.stanford.edu/1198
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
| |
Update the remctl spec file to support building all language bindings,
split Python, PHP, Ruby, and Perl into separate packages, and improve
various details about the build process and compatibility.
Change-Id: I694cf7222ca78f1dfbc86e48c861665a6c339025
Reviewed-on: https://gerrit.stanford.edu/1084
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Russ Allbery <rra@stanford.edu>
|
|
|
|
|
|
|
| |
Make the same fix for other bindings as for Python: be clear that
set_ccache and set_source_ip are optional calls.
Change-Id: I1bc1e81da9af4eba52e64723e9bc5a1c20b0e154
|
|
|
|
|
|
|
|
| |
Also change the license on the POD documentation from Expat to the
all-permissive license and switch the license on several remctl
source files from the MIT license to the Expat license.
Change-Id: Ie7ebedf3b56cc2c19211217282519a7e6200c9e2
|
|
|
|
|
|
|
| |
The previous modification incorrectly added it to the non-*.in version,
so it wasn't committed.
Change-Id: If54d54141b6499c3df7657f9f3a86d11e02b558e
|
|
|
|
|
|
|
|
|
| |
The PHP bindings no longer output a PHP warning if remctl_output
fails. This was inconsistent with the other API calls (remctl_open
and remctl_command can also fail but didn't result in warnings), may
be expected and handled by the caller, and made testing difficult.
Change-Id: I70c489a9c5e4debd2211e015af9144befe27b58f
|
|
|
|
|
|
|
|
|
| |
Update the TAP support library to use config/principal and
config/keytab rather than files under data. Update most of the
tests to also use config/tmp to handle temporary files for running
tests.
Change-Id: I014cdf5e15e1d1bbeabfaa7feb60e1b97bb29c2b
|
| |
|
|
|
|
|
|
|
| |
Add documentation to the PHP and Python README files, and document
in the Perl Net::Remctl POD documentation that not all GSS-API
implementations support this. Also note the return value from the
set_* functions in more places.
|
| |
|
|
|
|
|
| |
We need to try kinit --no-afslog first in all of our test suites,
not just the kinit.c C TAP add-on.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The new lack of passing of environment variables also clobbered
LD_LIBRARY_PATH. Use the --ENV-- section for each test for that as
well.
|
|
|
|
|
|
| |
PHP 5.3 apparently no longer passes environment variables through the
test driver, so the test cases need to explicitly set the KRB5CCNAME
variable to the cache created by the test suite driver.
|
| |
|
|
|
|
|
|
|
|
| |
Use command and subcommand as the names for the first two parameters
to the remctl client and the first two strings in a remctl command
instead of the unintuitive "type" and "service" terminology borrowed
from sysctl. This only changes documentation and some internal
variable names; no external APIs should be affected.
|
|
|
|
|
|
|
| |
Don't skip tests just because the module isn't loaded; if the module
isn't loaded, something has gone horribly wrong. That also removes
the syntax error in that part of the skip code which was preventing
the skip code from checking whether remctld was running.
|
|
|
|
|
| |
The module load test wasn't actually testing whether the module was
loaded.
|
|
|
|
|
|
| |
When there was no Kerberos configuration, the test wrapper was
removing files that were never created. Do that with rm -f to
avoid the spurious error messages.
|
|
|
|
|
|
|
|
| |
Handling the PHP directory as an Autoconf subdirectory just doesn't work
with srcdir != builddir builds. The ordering is all wrong. Switch to
running configure at build time, which also has the nice advantage that
we can generate config.m4 with Autoconf and substitute in the correct
link paths.
|
|
|
|
|
| |
Also be sure to create the php directory in the configure script before
trying to copy files into it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't run phpize from autogen, since the build system that it installs
may vary based on one's local PHP installation. Instead, run it during
configure. This means that we don't have to ship a copy of the GPL and
can remove a lot of files from LICENSE.
Update the prerequisites for the PHP bindings and document them for the
Python bindings as well.
Update README for all of the bindings, to point to the protocol
documentation, to mention that the design document is the original design
and is out of date, and to be clearer about prerequisites.
|
|
|
|
|
|
| |
Use the right variable for the include search path and also change the
library search path so that we link against the just-built client library
instead of whatever is installed on the system.
|
|
|
|
|
|
| |
Add a HISTORY section to the documentation and change Andrew's attribution
to say "originally written by". This makes the handling similar to what
is done for the Python bindings.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The PHP license requires that one not call one's extension "PHP foo"
and instead call it "foo for PHP." I very much doubt anyone is going
to care, but be fully correct anyway.
|
| |
|
|
|
|
|
|
| |
Fix the SKIPIF section syntax (looks like it may not have been running).
Add an explicit remctl_close to the advanced API test to make sure it
doesn't cause a crash. Change the advanced test description.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add a wrapper around the PHP make test that works around the Debian
module configuration problem by linking all the system modules into
the modules directory. The wrapper also gets a Kerberos ticket and
spawns a remctl server for the use of the tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up the coding style for the PHP PECL module to match the rest of
the project and add copyright headers and license pointers.
Change the extended API exposed by the PECL module to match the API
exposed by other extensions. This means always providing a data key
with the data, not turning it into stdout and stderr similar to the
simple API, and not adding a done key. This can be reconsidered later
if there's a very native-PHP way of expressing things, but these
differences seemed unnecessary and not specifically driven by being more
PHP-native.
|
|
Initial PHP bindings from Andrew Mortensen. They compile, but the test
suite is incomplete, they're not tied into the rest of the build system,
and they need coding style cleanups and more test suite work.
|