summaryrefslogtreecommitdiffstats
path: root/proxy
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unused variablesSimo Sorce2013-04-032-4/+0
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix use of unintialized variableSimo Sorce2013-04-031-1/+1
| | | | | | Found by Coverity Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix a few more resource leaksSimo Sorce2013-04-032-2/+3
| | | | | | Still a couple resource leaks after the last Coverity scan Signed-off-by: Simo Sorce <simo@redhat.com>
* Use send() in client library to avoid SIGPIPESimo Sorce2013-04-031-2/+2
| | | | | | | | | | | The client library lives in applications that may not be blocking or ignoring SIGPIPE. Using write() can cause SIGPIPE to be raised in the application if the proxy is restarted. If the application does not catch the signal then it is terminated. Make sure this does not happen by using send() with the MSG_NOSIGNAL flag. Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix dereference after null checks found by CoveritySimo Sorce2013-04-034-6/+13
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix missing break statement found by CoveritySimo Sorce2013-04-031-0/+2
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix infinite loop due to bad sign of variableSimo Sorce2013-04-031-1/+1
| | | | | | | | | | | Change the i variable to be a signed integer ot the loop will never end because and unsigned integer decremented past 0 simply wraps to a very big integer. The condition that would break the loop can never be true therefore the code would loop forever until eventually a double free would cause a crash. Found by Coverity. Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix resource leaks found by CoveritySimo Sorce2013-04-0312-37/+61
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix reporting of wrong error codesSimo Sorce2013-04-032-0/+6
| | | | | | Found by Coverity as 'Argument cannot be negative' type of error. Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix dereference before null error fund by CoveritySimo Sorce2013-04-031-1/+3
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix uninizialized variables found by CoveritySimo Sorce2013-04-035-16/+15
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix locally dead code error found by coveritySimo Sorce2013-04-031-4/+3
| | | | | | | By setting closewait to 0 after waitpid we would loop forever not the max 10 times we intended to. Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix copy and paste error found by CoveritySimo Sorce2013-04-031-2/+2
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix unchecked return values found by CoveritySimo Sorce2013-04-033-4/+24
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Set version to 0.1Simo Sorce2013-04-011-1/+1
|
* Add client side support to set allowed enctypesSimo Sorce2013-03-271-1/+92
| | | | | | | | | When using remote credentials, intercept set_cred_option calls and register an option into the existing set of crdentials with the request to set allowed entypes at the first use of said crdentials. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
* Add extension to set allowable enctypesSimo Sorce2013-03-271-0/+39
| | | | | | | | | | | | | | | The krb5 mechanism has a non standard extention to allow setting a list of allowed enctypes to use with a particular set of crdentials. This patch adds an extension, registerd by a client as a gssx_cred's option, so that at the first use of this crdentials the proxy can try to set the requsted options. For now failure to set the option is only logged in debug mode and the operation to import credentials does not fail if the allowed enctypes cannot be set. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
* Add helper function to check for krb5 oidSimo Sorce2013-03-272-0/+15
| | | | | | | | | | The krb5 mechanism supports multiple oids for historical reasons. Add a function to generically check if a mech oid is any of the krb5 mechanism known oids for functions that do not care which exact oid is being used of the krb5 family. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
* Improve ccache formatting.Simo Sorce2013-03-272-14/+42
| | | | | | | | | | Add %U support which will insert the user uid number instead of name. Fix %% support by actually removing one of the % charcters Fix %<invalid> sequence by actually bailing out if one is found. Add GPDEBUG statements to indicate what went wrong. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
* Test all possible proxy mode combinations.Günther Deschner2013-03-271-3/+16
| | | | | Signed-off-by: Günther Deschner <gdeschner@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* Make it easier to test gssproxy behavior settings.Günther Deschner2013-03-271-40/+95
| | | | | | | | | Adds options to set a sepcific proxy behavior for both the client and the server subprocesses by setting the GSSPROXY_BEHAVIOR environment variable after forking. Signed-off-by: Günther Deschner <gdeschner@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* Fix write_pid debug messageSimo Sorce2013-03-271-1/+1
| | | | | Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Günther Deschner <gdeschner@redhat.com>
* Use token wrapper in gpp_remote_lo_local_ctxSimo Sorce2013-03-221-4/+39
| | | | | We need to do the wrapping in order to get back an actual local context. Otherwise we get back an interposed context from gssapi.
* Create helper function to wrap tokenSimo Sorce2013-03-223-20/+34
| | | | Wrap the token in a helper function so that the code can be reused elsewhere.
* Packaging fixesAndreas Schneider2013-03-221-10/+8
| | | | | Signed-off-by: Günther Deschner <gdeschner@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* Fix systemd config file for gssproxy.Günther Deschner2013-03-221-1/+1
| | | | Reviewed-by: Simo Sorce <simo@redhat.com>
* Add systemd packaging to gssproxy spec file.Günther Deschner2013-03-221-9/+22
| | | | Reviewed-by: Simo Sorce <simo@redhat.com>
* Add various fixes to gssproxy.spec.Günther Deschner2013-03-221-80/+35
| | | | Reviewed-by: Simo Sorce <simo@redhat.com>
* Write pid file at startup.Simo Sorce2013-03-226-18/+55
|
* Make socket path a configure optionSimo Sorce2013-03-225-39/+25
| | | | | | | The kernel uses the fixed path named /var/run/gssproxy.sock Make this default a configure time option and default to it. Also remove the option to change the socket at configure time, neither the kernel nor proxymech.so can cope with a change anyway.
* Enable kernel support.Simo Sorce2013-03-225-0/+61
| | | | | | | | The Linux kernel now requires the gss-proxy to signal when it is available. This is done by writing 1 to the file /proc/net/rpc/use-gss-proxy Once this happens the kernel will try to attach to the gss-proxy socket and use it instead of the classic rpc.svcgssd daemon.
* Remove gssproxy.serviceSimo Sorce2013-03-221-14/+0
| | | | | This file is generated by gssproxy.service.in so keep only the source in git.
* Fix gssi_context_time for remote calls.Günther Deschner2013-03-141-4/+3
| | | | | | lifetime is alredy returned as remaining seconds of lifetime. Signed-off-by: Simo Sorce <simo@redhat.com>
* Fix gssi_import_sec_context_by_mech()Günther Deschner2013-03-141-1/+1
| | | | | | Use spmech->length as we are replacing the original oid with spmech. Signed-off-by: Simo Sorce <simo@redhat.com>
* mechglue: add trace debuggingGünther Deschner2013-03-1413-0/+146
| | | | | | This is enabled via --with-gssidebug. Signed-off-by: Simo Sorce <simo@redhat.com>
* interpostest: improve debug output when gss_context_time() fails.Günther Deschner2013-03-141-2/+5
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Add debug statement when gp_rpc_execute is called.Günther Deschner2013-03-142-17/+64
| | | | | | Add code to print the name of tehe GSSX function being executed. Signed-off-by: Simo Sorce <simo@redhat.com>
* Add support to get peer's SeLinux contextSimo Sorce2013-03-141-2/+21
|
* Use gssrpc instead of system rpcSimo Sorce2013-03-144-5/+10
| | | | | This avoids issues with libraris like libtirpc as gssrpc renames all the symbols to avoid clashes with system libraries.
* Add custom implementation of xdr_uint64_tSimo Sorce2013-03-144-1/+90
| | | | This is needed because gssrpc doesn't have one.
* Fix includesSimo Sorce2013-03-146-0/+6
| | | | | These includes are necessary when switching to gssrpc because they are not automatically dragged in via dependencies in system rpc.h
* mechglue: initialize gpp cred_handle in gssi_acquire_cred_with_password().Günther Deschner2013-02-221-1/+1
|
* mechglue: fix gssi_set_cred_option() arguments.Günther Deschner2013-02-222-4/+4
|
* interposer-plugin: Fix MIT 1.11 gssi_import_sec_context_by_mech symbol name.Günther Deschner2013-02-152-8/+8
|
* Add example GSS-API mechanism plugins config file.Günther Deschner2013-01-153-1/+7
| | | | The file is not installed automatically yet.
* Change interposer usage, clients need to set GSS_USE_PROXY=1|YES.Günther Deschner2013-01-152-3/+6
| | | | | | The variable _GSSPROXY_LOOPS has been changed in favor of GSS_USE_PROXY. From now on, applications needs to explicitly enable the usage of the gssproxy interposer inception.
* Move master version to 0.0.99Simo Sorce2012-11-061-1/+1
| | | | This will set us on course for a 0.1.0 release.
* build: check for gss_import_cred and gss_export_cred.Günther Deschner2012-11-021-0/+6
|
* Use new gss_import/export_cred functionsSimo Sorce2012-10-2510-404/+98
| | | | | | | This allows us to remove the ring_buffer hack and become completely stateless as well as remove a possible DoS avenue. R.I.P. Ring Buffer :-)
* Makefile: Add src/mechglue/gss_plugin.h to header list.Günther Deschner2012-10-251-1/+2
| | | | Acked-by: Simo Sorce <simo@redhat.com>