------------------------------------------------------------------------
r17557 | msalle | 2014-02-28 13:17:39 +0100 (Fri, 28 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Update NEWS file.

------------------------------------------------------------------------
r17556 | msalle | 2014-02-28 13:13:16 +0100 (Fri, 28 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Replace hardcoded paths into more flexible variable based paths

------------------------------------------------------------------------
r17555 | msalle | 2014-02-28 10:19:13 +0100 (Fri, 28 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Add ban_dn and ban_fqan plugins. Make naming of the files/dirs consistent.

------------------------------------------------------------------------
r17544 | msalle | 2014-02-27 14:07:44 +0100 (Thu, 27 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

replace non-standard su user --command with su - user command

------------------------------------------------------------------------
r17543 | msalle | 2014-02-27 14:00:11 +0100 (Thu, 27 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Fix expected return values for setuid and setgid execs.

------------------------------------------------------------------------
r17542 | msalle | 2014-02-27 13:56:23 +0100 (Thu, 27 Feb 2014) | 7 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Install glexec.conf only as glexec user when we are root
Fix test suite:
- should do chown before chmod
- put test exec into compound testdir such that it starts from scratch
- replace numerous root.root by a variable.


------------------------------------------------------------------------
r17541 | msalle | 2014-02-27 12:08:29 +0100 (Thu, 27 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/utils/glexec-configure.sh.in

Install glexec.conf with perms
-r--------   1   glexec root

------------------------------------------------------------------------
r17531 | msalle | 2014-02-26 16:43:36 +0100 (Wed, 26 Feb 2014) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/lcmaps-plugins-basic/src/ldap_enf/lcmaps_ldap.c
   M /trunk/lcmaps-plugins-scas-client/interface/pdp_xacml_authz_process.h
   M /trunk/scas/interface/pdp_xacml_authz_process.h
   M /trunk/scas/src/scas-server/main.c
   M /trunk/scas/src/scas-server/read_config/open_conf_file.c
   M /trunk/scas/src/scas-server/read_config/readbuf.c

Remove unreachable break
Remove unused macros
SCAS:
- Make sure to define SCAS mutex only in main.c, declare as extern in header
- Replace non-portable err()


------------------------------------------------------------------------
r17529 | msalle | 2014-02-26 16:01:45 +0100 (Wed, 26 Feb 2014) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/lcmaps/src/evaluationmanager/pdl_rule.c
   M /trunk/lcmaps/src/grid_credential_handling/gsi_handling/lcmaps_voms_attributes.c
   M /trunk/lcmaps/src/grid_credential_handling/lcmaps_credential.c
   M /trunk/lcmaps/src/grid_credential_handling/x509_handling/lcmaps_x509_utils.c
   M /trunk/lcmaps/src/lcmaps.c
   M /trunk/lcmaps/src/lcmaps_gss_assist_gridmap.c
   M /trunk/lcmaps/src/lcmaps_return_account_from_pem.c
   M /trunk/lcmaps/src/lcmaps_return_poolindex.c
   M /trunk/lcmaps/src/pluginmanager/lcmaps_db_read.c
   M /trunk/lcmaps/src/pluginmanager/lcmaps_pluginmanager.c
   M /trunk/lcmaps-plugins-basic/src/gridlist/lcmaps_gridlist.c
   M /trunk/lcmaps-plugins-basic/src/posix_enf/lcmaps_posix.c
   M /trunk/lcmaps-plugins-c-pep/src/c-pep/lcmaps_c_pep.c
   M /trunk/lcmaps-plugins-scas-client/interface/pep_obligation_handlers.h
   M /trunk/lcmaps-plugins-scas-client/src/saml2-xacml2/client/pep_obligation_handlers.c
   M /trunk/lcmaps-plugins-scas-client/src/saml2-xacml2/io_handler/network/net_common.c
   M /trunk/lcmaps-plugins-scas-client/src/scas-client/lcmaps_scas_client.c
   M /trunk/lcmaps-plugins-tracking-groupid/src/tracking_groupid/lcmaps_tracking_groupid.c
   M /trunk/lcmaps-plugins-verify-proxy/src/verify-proxy/verify-lib/src_internal/_verify_x509.c
   M /trunk/lcmaps-plugins-voms/src/gridlist/lcmaps_gridlist.c
   M /trunk/lcmaps-plugins-voms/src/voms/lcmaps_voms_localaccount.c
   M /trunk/scas/src/saml2-xacml2/io_handler/network/net_common.c
   M /trunk/scas/src/saml2-xacml2/io_handler/ssl/ssl-common.c
   M /trunk/scas/src/saml2-xacml2/io_handler/xacml_io_ssl.c

Fix numerous small warnings:
- break; after a return; is unreachable
- unused macros
Change back signature of the scas obligation handlers to be compatible with the
type in the XACML library.
Sync SCAS with lcmaps-plugins-scas-client

------------------------------------------------------------------------
r17490 | msalle | 2014-02-24 15:57:39 +0100 (Mon, 24 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

if test ... then fi all needs to be one line in Makefile: add continuation chars
and ; to end of lines.

------------------------------------------------------------------------
r17489 | msalle | 2014-02-24 15:52:43 +0100 (Mon, 24 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Fix typo: Need space in ... ; then

------------------------------------------------------------------------
r17487 | msalle | 2014-02-24 14:56:13 +0100 (Mon, 24 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Don't use test && construction, as it will return an error if the test condition
is not satisfied: do with if then fi instead

------------------------------------------------------------------------
r17485 | msalle | 2014-02-23 17:12:46 +0100 (Sun, 23 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Make a backup of the glexec.conf and lcmaps.db file if they already exist. Do
this in a portable way, i.e. without --backup of GNUs install.

------------------------------------------------------------------------
r17484 | msalle | 2014-02-23 16:41:58 +0100 (Sun, 23 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c

All local lcmaps and lcas variables are now consistently renamed into mylcmaps
and mylcas variables.

------------------------------------------------------------------------
r17483 | msalle | 2014-02-23 15:11:52 +0100 (Sun, 23 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Rename variables name lcmaps_* since they might clash with symbols from the
LCMAPS libraries (e.g. lcmaps_log).

------------------------------------------------------------------------
r17482 | msalle | 2014-02-21 15:38:00 +0100 (Fri, 21 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Use set lcmaps.db also in the glexec.conf

------------------------------------------------------------------------
r17478 | msalle | 2014-02-21 13:44:55 +0100 (Fri, 21 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Add regression test for https://bugzilla.nikhef.nl/show_bug.cgi?id=16


------------------------------------------------------------------------
r17477 | msalle | 2014-02-21 13:29:18 +0100 (Fri, 21 Feb 2014) | 9 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Add extra checks:
- loglevel should be number in interval [0-5]
- cleanly fail if:
    * lcmaps.db cannot be written
    * glexec.conf cannot be setup properly
Fix parsing bug: tried one argument too many
Add -h|--help option


------------------------------------------------------------------------
r17476 | msalle | 2014-02-21 12:56:13 +0100 (Fri, 21 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Add tests for filenames: they should be absolute

------------------------------------------------------------------------
r17472 | msalle | 2014-02-21 11:44:12 +0100 (Fri, 21 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

Comment-out all warning flags: good for development, not for dist tarball.
The non-warning flags remain.

------------------------------------------------------------------------
r17470 | msalle | 2014-02-20 17:17:41 +0100 (Thu, 20 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Do not use (too Linux specific) getopt in glexec-configure.sh. It's simple
enough to do by hand and more portable.

------------------------------------------------------------------------
r17466 | msalle | 2014-02-19 22:02:06 +0100 (Wed, 19 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r17465 | msalle | 2014-02-19 22:00:24 +0100 (Wed, 19 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Check earlier on id -u == 0 before we need to be root.

------------------------------------------------------------------------
r17464 | msalle | 2014-02-19 21:54:38 +0100 (Wed, 19 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Install signal handler for SIGINT so that we can safely interrupt the tests.

------------------------------------------------------------------------
r17463 | msalle | 2014-02-19 18:43:32 +0100 (Wed, 19 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r17459 | msalle | 2014-02-18 17:36:05 +0100 (Tue, 18 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r17458 | msalle | 2014-02-18 17:35:18 +0100 (Tue, 18 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src

Update manpage for glexec-configure.

------------------------------------------------------------------------
r17455 | msalle | 2014-02-18 14:58:29 +0100 (Tue, 18 Feb 2014) | 10 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/utils/glexec-configure.sh.in

Fix https://bugzilla.nikhef.nl/show_bug.cgi?id=20
- In case curl --version | grep -q NSS/ matches, add the
  --use-pilot-proxy-as-cafile flag to the pepc plugin.
- Fail when doing SCAS or Argus without an endpoint.
- Set default LCAS loglevel to 0 instead of global default loglevel.
- Check plugins exist.
- Print out defaults in usage text.
- Update NEWS file.


------------------------------------------------------------------------
r17453 | msalle | 2014-02-18 10:37:30 +0100 (Tue, 18 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Add _XOPEN_SOURCE macro: strcasecmp is POSIX.1-2001. Solaris needs at least XPG4v2, we now effectively set XPG5

------------------------------------------------------------------------
r17422 | msalle | 2014-02-13 14:12:58 +0100 (Thu, 13 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Force printing the umask as a unsigned int, not as a long unsigned int.

------------------------------------------------------------------------
r17420 | msalle | 2014-02-13 13:29:39 +0100 (Thu, 13 Feb 2014) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_closefrom.h
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/main_util.c

Fixes for clean building on Solaris and MacOS:
- define __sun instead of sun
- getpwnam_r() on __sun doesn't fully follow POSIX: size_t -> int
- umask() on MacOS gets confused about it's argument: cast it explicitly. 
- need to include unistd.h for setgroups (on all platforms)

Don't check on #if HAVE_... but #ifdef HAVE...

------------------------------------------------------------------------
r17414 | msalle | 2014-02-11 17:28:40 +0100 (Tue, 11 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_closefrom.c

Add test for POSIX2008 and use it to determine which macro to set for dirfd
prototype: either _XOPEN_SOURCE 700 or _BSD_SOURCE (and _XOPEN_SOURCE 600)

------------------------------------------------------------------------
r17413 | msalle | 2014-02-11 16:55:28 +0100 (Tue, 11 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/lcmaps-plugins-basic/NEWS
   M /trunk/lcmaps-plugins-basic/configure.ac

Update versions and NEWS file

------------------------------------------------------------------------
r17410 | msalle | 2014-02-11 16:22:27 +0100 (Tue, 11 Feb 2014) | 3 lines
Changed paths:
   M /trunk/glexec/src/main_util.c
   M /trunk/lcmaps/src/pluginmanager/lcmaps_utils.c
   M /trunk/lcmaps-plugins-basic/src/posix_enf/lcmaps_posix.c

Do not set *only* _BSD_SOURCE, but also _XOPEN_SOURCE macros. See man
feature_test_macros: when we set both, we don't favour BSD versions.

------------------------------------------------------------------------
r17405 | msalle | 2014-02-11 10:32:14 +0100 (Tue, 11 Feb 2014) | 3 lines
Changed paths:
   M /trunk/ees/bootstrap
   M /trunk/glexec/bootstrap
   M /trunk/lcas/bootstrap
   M /trunk/lcas-lcmaps-gt4-interface/bootstrap
   M /trunk/lcas-plugins-basic/bootstrap
   M /trunk/lcas-plugins-check-executable/bootstrap
   M /trunk/lcas-plugins-voms/bootstrap
   M /trunk/lcmaps/bootstrap
   M /trunk/lcmaps-plugins-afs/bootstrap
   M /trunk/lcmaps-plugins-basic/bootstrap
   M /trunk/lcmaps-plugins-c-pep/bootstrap
   M /trunk/lcmaps-plugins-jobrep/bootstrap
   M /trunk/lcmaps-plugins-lcas/bootstrap
   M /trunk/lcmaps-plugins-scas-client/bootstrap
   M /trunk/lcmaps-plugins-tracking-groupid/bootstrap
   M /trunk/lcmaps-plugins-verify-proxy/bootstrap
   M /trunk/lcmaps-plugins-voms/bootstrap
   M /trunk/scas/bootstrap

Add --force to autoheader: we do not provide our own headerfile template, so we
want want to get that from autoheader.

------------------------------------------------------------------------
r17403 | msalle | 2014-02-10 11:56:07 +0100 (Mon, 10 Feb 2014) | 2 lines
Changed paths:
   M /trunk/ees/bootstrap
   M /trunk/glexec/bootstrap
   M /trunk/lcas/bootstrap
   M /trunk/lcas-lcmaps-gt4-interface/bootstrap
   M /trunk/lcas-plugins-basic/bootstrap
   M /trunk/lcas-plugins-check-executable/bootstrap
   M /trunk/lcas-plugins-voms/bootstrap
   M /trunk/lcmaps/bootstrap
   M /trunk/lcmaps-plugins-afs/bootstrap
   M /trunk/lcmaps-plugins-basic/bootstrap
   M /trunk/lcmaps-plugins-c-pep/bootstrap
   M /trunk/lcmaps-plugins-jobrep/bootstrap
   M /trunk/lcmaps-plugins-lcas/bootstrap
   M /trunk/lcmaps-plugins-scas-client/bootstrap
   M /trunk/lcmaps-plugins-tracking-groupid/bootstrap
   M /trunk/lcmaps-plugins-verify-proxy/bootstrap
   M /trunk/lcmaps-plugins-voms/bootstrap
   M /trunk/saml2-xacml2-c-lib/xacml/bootstrap
   M /trunk/scas/bootstrap

Update bootstrap scripts: should run libtoolize before aclocal

------------------------------------------------------------------------
r17362 | msalle | 2014-02-07 11:34:39 +0100 (Fri, 07 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r17361 | msalle | 2014-02-07 11:30:13 +0100 (Fri, 07 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Set _BSD_SOURCE for main_util.c since it's needed for setgroups

------------------------------------------------------------------------
r17356 | msalle | 2014-02-06 17:11:01 +0100 (Thu, 06 Feb 2014) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/lcmaps/ChangeLog
   M /trunk/lcmaps-plugins-afs/ChangeLog
   M /trunk/lcmaps-plugins-basic/ChangeLog
   M /trunk/lcmaps-plugins-c-pep/ChangeLog
   M /trunk/lcmaps-plugins-jobrep/ChangeLog
   M /trunk/lcmaps-plugins-lcas/ChangeLog
   M /trunk/lcmaps-plugins-scas-client/ChangeLog
   M /trunk/lcmaps-plugins-tracking-groupid/ChangeLog
   M /trunk/lcmaps-plugins-verify-proxy/ChangeLog
   M /trunk/lcmaps-plugins-voms/ChangeLog
   M /trunk/scas/ChangeLog

Update ChangeLog files. We are (hopefully) ready to release.

------------------------------------------------------------------------
r17295 | msalle | 2014-01-16 17:00:32 +0100 (Thu, 16 Jan 2014) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main_util.c

Replace double glexec loglevel defaults for a #define and print it at the -V
option.

------------------------------------------------------------------------
r17278 | msalle | 2014-01-14 13:00:07 +0100 (Tue, 14 Jan 2014) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Update NEWS file

------------------------------------------------------------------------
r17277 | msalle | 2014-01-14 12:24:35 +0100 (Tue, 14 Jan 2014) | 5 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/src/main_util.c

when no log_destination is set, openlog() is not called from glexec_setup_log().
In that case LCMAPS might be the first (at low glexec loglevels) to start
logging to syslog and will then use syslog defaults.


------------------------------------------------------------------------
r17272 | msalle | 2014-01-07 15:37:09 +0100 (Tue, 07 Jan 2014) | 8 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Cleanup of compound test:
- properly put back glexec.conf and settings of glexec binary
- put all other files (db, log etc.) in custom temporary directory: only
  glexec.conf is hard-coded
- update some of the errors and warnings printed (or add them).
- all to-be-changed variables are now at the top.


------------------------------------------------------------------------
r17266 | msalle | 2013-12-19 15:50:57 +0100 (Thu, 19 Dec 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_log.c

Cast to size_t instead of unsigned...

------------------------------------------------------------------------
r17254 | msalle | 2013-12-12 15:51:39 +0100 (Thu, 12 Dec 2013) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Update version

------------------------------------------------------------------------
r17207 | msalle | 2013-12-02 13:16:40 +0100 (Mon, 02 Dec 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

Update location of safefile files

------------------------------------------------------------------------
r17206 | msalle | 2013-12-02 13:12:46 +0100 (Mon, 02 Dec 2013) | 3 lines
Changed paths:
   M /trunk/glexec

No longer require safefile separately as external, we get what we need via
fileutil.

------------------------------------------------------------------------
r17200 | msalle | 2013-12-02 12:42:27 +0100 (Mon, 02 Dec 2013) | 4 lines
Changed paths:
   M /trunk/glexec

Update externals, we cannot simply point to the new symlink, or we will only get
a symlink on checkout.


------------------------------------------------------------------------
r17199 | msalle | 2013-12-02 12:38:17 +0100 (Mon, 02 Dec 2013) | 3 lines
Changed paths:
   M /trunk/glexec
   M /trunk/glexec/src/Makefile.am

Update svn:externals to use the new symlink to the actual safefile library. Also
update the Makefile.am to reflect this change.

------------------------------------------------------------------------
r17182 | msalle | 2013-11-29 11:03:03 +0100 (Fri, 29 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

Define _XOPEN_SOURCE to allow compilation using -std=c99

------------------------------------------------------------------------
r17181 | msalle | 2013-11-29 10:05:43 +0100 (Fri, 29 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.h

Add _XOPEN_SOURCE #define for sigset_t

------------------------------------------------------------------------
r17123 | msalle | 2013-11-11 12:30:06 +0100 (Mon, 11 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r17122 | msalle | 2013-11-11 12:15:34 +0100 (Mon, 11 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Cleanup memory.

------------------------------------------------------------------------
r17121 | msalle | 2013-11-08 14:52:37 +0100 (Fri, 08 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.h

Missed ; 

------------------------------------------------------------------------
r17120 | msalle | 2013-11-08 14:51:31 +0100 (Fri, 08 Nov 2013) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Clean up malloc-ed sgids from caller.

------------------------------------------------------------------------
r17110 | msalle | 2013-10-30 16:27:19 +0100 (Wed, 30 Oct 2013) | 4 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_environ.c

Update NEWS file to reflect bugfixes.
Update version
Give slightly more information when cleaning environment has failed.

------------------------------------------------------------------------
r16870 | okoeroo | 2013-02-25 10:53:35 +0100 (Mon, 25 Feb 2013) | 1 line
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Removed function prefix to a shell-script function, because its a bash-ism
------------------------------------------------------------------------
r16869 | okoeroo | 2013-02-25 10:30:32 +0100 (Mon, 25 Feb 2013) | 1 line
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

LCMAPS config file generator is now fixed to generate chunked files based on the SCAS=yes and PEPC=yes
------------------------------------------------------------------------
r16868 | okoeroo | 2013-02-25 08:29:11 +0100 (Mon, 25 Feb 2013) | 1 line
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Integrated 6 new PEPC deployment scenarios, per test.
------------------------------------------------------------------------
r16867 | okoeroo | 2013-02-25 08:07:55 +0100 (Mon, 25 Feb 2013) | 1 line
Changed paths:
   M /trunk/glexec/test/glexec-certification-compound.sh
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Improved Argus tests
------------------------------------------------------------------------
r16795 | msalle | 2012-11-18 18:58:53 +0100 (Sun, 18 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16794 | msalle | 2012-11-18 18:58:32 +0100 (Sun, 18 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Updating NEWS file (glexec-configure update was missing).

------------------------------------------------------------------------
r16793 | msalle | 2012-11-18 18:54:23 +0100 (Sun, 18 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16792 | msalle | 2012-11-18 18:53:49 +0100 (Sun, 18 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Explict cast in fprintf

------------------------------------------------------------------------
r16789 | msalle | 2012-11-18 17:36:48 +0100 (Sun, 18 Nov 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main_util.c

More explicit cast: particular from constants (=int) to size_t (unsigned long).
Protect against errors from (v)snprintf: could return -1.

------------------------------------------------------------------------
r16788 | msalle | 2012-11-18 15:33:36 +0100 (Sun, 18 Nov 2012) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main_util.c

Fix truncation of loglevel before converting to enum (unsigned) and give proper
warnings in main_util.c. In glexec_log.c just in case (can no longer check < 0)
Prototype for setgroups() depends on OS: linux has size_t for first, BSD and
Solaris have int.

------------------------------------------------------------------------
r16786 | msalle | 2012-11-18 13:58:40 +0100 (Sun, 18 Nov 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/main_util.c

Add few more explicit casts. Check earlier whether log level is within valid
bounds, initialize lock_type. Add _POSIX_PTHREAD_SEMANTICS define also to header
file (it includes pwd.h).

------------------------------------------------------------------------
r16785 | msalle | 2012-11-18 13:09:18 +0100 (Sun, 18 Nov 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Few bugfixes: LCK_* are not of GLEXEC_LOCK_TYPE but defined in fileutil.h, and
basically int. Also don't compare signed value with unsigned value before
guaranteeing it's positive.

------------------------------------------------------------------------
r16784 | msalle | 2012-11-16 15:28:08 +0100 (Fri, 16 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16783 | msalle | 2012-11-16 15:27:27 +0100 (Fri, 16 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/NEWS

Updating NEWS file and ChangeLog

------------------------------------------------------------------------
r16782 | msalle | 2012-11-16 15:12:34 +0100 (Fri, 16 Nov 2012) | 6 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

- Further cleanup of inproper (but usually harmless) casts.
- Do not print destination proxy name if cgul_write_uniq_proxy() failed.
- We now have the additional warning flags -Wconversion -Wextra, which handle a
  number of common issues.


------------------------------------------------------------------------
r16781 | msalle | 2012-11-16 13:34:46 +0100 (Fri, 16 Nov 2012) | 3 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Add, commented-out, the RH6 NSS-hack for the LCMAPS plugins-c-pep in the
prototype lcmaps.db file.

------------------------------------------------------------------------
r16780 | msalle | 2012-11-16 12:16:35 +0100 (Fri, 16 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Initialize config_buffer to NULL for safety.

------------------------------------------------------------------------
r16779 | msalle | 2012-11-16 12:13:40 +0100 (Fri, 16 Nov 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Bug fixes: realloc() needs total size, not just the number of elements,
global_conf_configsize is unsigned and equal 0 when uninitialized.

------------------------------------------------------------------------
r16778 | msalle | 2012-11-15 22:51:33 +0100 (Thu, 15 Nov 2012) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Bumping version

------------------------------------------------------------------------
r16777 | msalle | 2012-11-15 22:50:28 +0100 (Thu, 15 Nov 2012) | 22 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main_util.c

Many small updates:
- make sure to initialize target account structure. For this introduce two new
  defines: GLEXEC_UID_UNDEFINED and GLEXEC_GID_UNDEFINED which are set to a very
  large and most probably harmless value. On many systems they will either be
  really undefined gid/uid or be equal to nobody and/or nogroup
- protect against negative values of nsgid.
- protect against calling setgroups with nsgid 0 or even negative when returning
  to caller (linger as caller)
- protect against not having _SC_GETPW_R_SIZE_MAX
- properly initialize pw struct before calling getpwuid_r using the new
  GLEXEC_UID/GID_UNDEFINED
- Many small updates to fix unproper implicit casts from signed to unsigned and
  viceversa:
    - Adding -Wconversion flag to warning flags: it warns about implicit casts
      or initializations that are unsafe or wrong in sign.
    - Some type changes of variables in order to prevent casts.
    - Some explicit casts when it is guaranteed safe.
    - Check snprintf does not return -1
    - Adapt cgul_* functions that now always use proper uid_t / gid_t.
    - define a number of defines as unsigned (using U), e.g. UID_MIN and GID_MIN


------------------------------------------------------------------------
r16722 | dennisvd | 2012-10-31 13:57:00 +0100 (Wed, 31 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

forgot one lcmaps.db directory check.

------------------------------------------------------------------------
r16716 | dennisvd | 2012-10-31 12:15:46 +0100 (Wed, 31 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Create /etc/lcmaps/ if it does not exist.

------------------------------------------------------------------------
r16606 | msalle | 2012-10-25 14:33:05 +0200 (Thu, 25 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r16581 | msalle | 2012-10-23 20:45:14 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16578 | msalle | 2012-10-23 20:18:30 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Further shortening log messages.

------------------------------------------------------------------------
r16577 | msalle | 2012-10-23 20:13:56 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Shortening log messages to prevent double logging of same error.

------------------------------------------------------------------------
r16576 | msalle | 2012-10-23 19:40:33 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Updating NEWS file for 0.9.7

------------------------------------------------------------------------
r16575 | msalle | 2012-10-23 19:34:20 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Remove extra , in log fmt string.

------------------------------------------------------------------------
r16574 | msalle | 2012-10-23 17:51:40 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix typo (extra ,)

------------------------------------------------------------------------
r16573 | msalle | 2012-10-23 17:47:21 +0200 (Tue, 23 Oct 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix log messages printed when config cannot be read.

------------------------------------------------------------------------
r16572 | msalle | 2012-10-23 17:37:44 +0200 (Tue, 23 Oct 2012) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/main_util.c

Only log how we opened the logfile if it failed.
Updating version.

------------------------------------------------------------------------
r16368 | okoeroo | 2012-04-23 00:28:14 +0200 (Mon, 23 Apr 2012) | 4 lines
Changed paths:
   A /trunk/glexec/test/glexec-certification-compound.sh

Certification output generating script.



------------------------------------------------------------------------
r16367 | okoeroo | 2012-04-22 19:58:53 +0200 (Sun, 22 Apr 2012) | 5 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Returned the file permission of glexec and glexec.conf to the old state.
Works perfectly.



------------------------------------------------------------------------
r16366 | okoeroo | 2012-04-22 19:56:09 +0200 (Sun, 22 Apr 2012) | 4 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Updated glexec compound test for certification without SCAS client, with pvier001 as test account and with glexec file permission changes.



------------------------------------------------------------------------
r16283 | msalle | 2012-04-01 12:35:22 +0200 (Sun, 01 Apr 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16281 | msalle | 2012-04-01 12:10:20 +0200 (Sun, 01 Apr 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/main_util.c

Fix bug: non-linger mode did not revert umask()

------------------------------------------------------------------------
r16277 | msalle | 2012-03-30 11:58:12 +0200 (Fri, 30 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r16276 | msalle | 2012-03-29 17:36:11 +0200 (Thu, 29 Mar 2012) | 3 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Add close_fds to glexec.conf (commented out) and remove unused silent_logging
option.

------------------------------------------------------------------------
r16275 | msalle | 2012-03-29 16:45:05 +0200 (Thu, 29 Mar 2012) | 3 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Remove " around value of path in db templates since it produces "" printed on
stdout (not even stderr).

------------------------------------------------------------------------
r16272 | msalle | 2012-03-28 16:02:03 +0200 (Wed, 28 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Update NEWS file

------------------------------------------------------------------------
r16271 | msalle | 2012-03-28 16:01:09 +0200 (Wed, 28 Mar 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Lower level of warning about non-existing homedir to info and warning about
non-possibility to return to start dir as notice

------------------------------------------------------------------------
r16255 | msalle | 2012-03-26 13:02:58 +0200 (Mon, 26 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r16254 | msalle | 2012-03-26 13:02:40 +0200 (Mon, 26 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Update NEWS file

------------------------------------------------------------------------
r16250 | msalle | 2012-03-26 11:24:07 +0200 (Mon, 26 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Updating version

------------------------------------------------------------------------
r16247 | dennisvd | 2012-03-24 02:34:39 +0100 (Sat, 24 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

quote whitelist variable (may contain spaces)

------------------------------------------------------------------------
r16235 | dennisvd | 2012-03-22 10:45:42 +0100 (Thu, 22 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src

typo: succesfully -> successfully

------------------------------------------------------------------------
r16232 | dennisvd | 2012-03-21 10:24:29 +0100 (Wed, 21 Mar 2012) | 3 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

fixed missing quotes in pepc config
Apply more quoting of variables to protect white space

------------------------------------------------------------------------
r16223 | dennisvd | 2012-03-20 14:42:06 +0100 (Tue, 20 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

environment is one word

------------------------------------------------------------------------
r16158 | msalle | 2012-03-15 16:47:05 +0100 (Thu, 15 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16155 | msalle | 2012-03-15 16:32:19 +0100 (Thu, 15 Mar 2012) | 3 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec-configure.8.src
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/doc/man/glexec.conf.5.src

Update manpages to have the correct wiki page
Update NEWS file for 0.9.4

------------------------------------------------------------------------
r16145 | msalle | 2012-03-15 10:57:33 +0100 (Thu, 15 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c

Fix typo in log string.

------------------------------------------------------------------------
r16144 | msalle | 2012-03-15 10:50:16 +0100 (Thu, 15 Mar 2012) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/main_util.c

Fixing wrong cast which leads to segfault when the preserve_env_variables is
non-empty.


------------------------------------------------------------------------
r16060 | msalle | 2012-03-02 12:07:12 +0100 (Fri, 02 Mar 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c

Reopening glexec logging on different log facility should be at most LOG_NOTICE

------------------------------------------------------------------------
r16004 | msalle | 2012-02-28 09:51:27 +0100 (Tue, 28 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r16003 | msalle | 2012-02-28 09:49:19 +0100 (Tue, 28 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/NEWS

Update NEWS file.

------------------------------------------------------------------------
r16002 | msalle | 2012-02-27 17:46:30 +0100 (Mon, 27 Feb 2012) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/main_util.c

Test before instead of after dup2() whether opened file descriptor is not equal
to target. In principle dup2() will just ignore, but it's less efficient.


------------------------------------------------------------------------
r15999 | msalle | 2012-02-27 15:07:02 +0100 (Mon, 27 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r15996 | msalle | 2012-02-27 14:47:12 +0100 (Mon, 27 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Also test stdin, stdout and stderr are not directories.


------------------------------------------------------------------------
r15993 | msalle | 2012-02-27 14:04:34 +0100 (Mon, 27 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src

Replace absolute path in glexec-configure manpage with that from configure.

------------------------------------------------------------------------
r15991 | msalle | 2012-02-27 13:37:54 +0100 (Mon, 27 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

Fix typo

------------------------------------------------------------------------
r15990 | msalle | 2012-02-27 13:37:19 +0100 (Mon, 27 Feb 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Add new function glexec_check_stdinouterr() that enforces existence of stdin,
stdout and stderr and that checks that these are resp. readable and writable.
Fix bug in redirecting of stdin to /dev/null upon SIGHUP.

------------------------------------------------------------------------
r15989 | msalle | 2012-02-23 13:53:23 +0100 (Thu, 23 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac

Fix not-creating of glexec-configure man page

------------------------------------------------------------------------
r15983 | msalle | 2012-02-17 10:44:27 +0100 (Fri, 17 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r15982 | msalle | 2012-02-17 10:12:34 +0100 (Fri, 17 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h

Update comment about GLEXEC_DEFAULT_NAME_TARGET_PROXY

------------------------------------------------------------------------
r15981 | msalle | 2012-02-17 10:05:22 +0100 (Fri, 17 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c

Replace sprintf as we don't need it...

------------------------------------------------------------------------
r15980 | msalle | 2012-02-16 17:27:08 +0100 (Thu, 16 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_closefrom.c

On SunOS don't try to use errno to figure out wether closefrom() failed: no
errors are defined and errno might be wrong.

------------------------------------------------------------------------
r15979 | msalle | 2012-02-16 16:51:44 +0100 (Thu, 16 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

stage is a pid_t, not an int...

------------------------------------------------------------------------
r15978 | msalle | 2012-02-16 14:00:07 +0100 (Thu, 16 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Updating ChangeLog

------------------------------------------------------------------------
r15977 | msalle | 2012-02-16 13:59:07 +0100 (Thu, 16 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Small clarification in log message about grace time.

------------------------------------------------------------------------
r15976 | msalle | 2012-02-16 13:21:12 +0100 (Thu, 16 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main_util.c

uid/gid is unsigned, update accordingly.

------------------------------------------------------------------------
r15975 | msalle | 2012-02-16 12:49:54 +0100 (Thu, 16 Feb 2012) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Update child process stage when kill() fails due to missing child.
Set child process pid as soon as we know fork() has succeeded.
Small fixes in glexec_emergency_send_signal().


------------------------------------------------------------------------
r15974 | msalle | 2012-02-15 17:02:38 +0100 (Wed, 15 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog

------------------------------------------------------------------------
r15973 | msalle | 2012-02-15 16:56:22 +0100 (Wed, 15 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/main_util.c

Add missing header files

------------------------------------------------------------------------
r15972 | msalle | 2012-02-15 15:26:18 +0100 (Wed, 15 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Slight clarification in log messages.

------------------------------------------------------------------------
r15971 | msalle | 2012-02-15 15:15:32 +0100 (Wed, 15 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Don't ignore exit code of write in glexec_signal_exit but give up writing.

------------------------------------------------------------------------
r15970 | msalle | 2012-02-15 15:12:04 +0100 (Wed, 15 Feb 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Call _exit() instead of exit() inside the glexec_signal_exit() as the normal
exit() is NOT signal safe!


------------------------------------------------------------------------
r15969 | msalle | 2012-02-15 14:50:35 +0100 (Wed, 15 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Install binary unreadable, unwritable and setuid.

------------------------------------------------------------------------
r15968 | msalle | 2012-02-15 14:36:15 +0100 (Wed, 15 Feb 2012) | 39 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main_util.c

Rework wait-for-payload/epilogue loops:
glexec_ipc.c:
- base on pause() since SA_RESTART is default for BSD and good in any case for
  e.g. I/O functions, so we cannot rely on waitpid() being interrupted. sleep()
  or usleep() loop also does not work both interfere with alarm().
- Hence use waitpid() with WNOHANG and centralize waiting in loop to prevent the
  need to wait when sending signal: kill() will fail if the target has quit, but
  at least pid cannot have been reused.
- New wrap function glexec_alarm(), making it possible to:
    * keep state of current alarm() via global_ipc_active_alarm
    * keep track of cause SIGALRM via global_ipc_pending_alarm
    * specify type via ALARM_TYPE_T
- initialize exit code for payload and epilog as GLEXEC_NO_CHILD_EXIT_CODE, such
  that we can always give global_ipc_{child,epilog}rc to glexec_{signal_,}exit
- new handler for SIGCHLD.
- remove function glexec_parse_waitstatus()
- return write() exit code from glexec_write_stderr()
- when a signal needs to be acted upon in the loop, set a ALARM_PAUSE alarm when
  possible, to prevent entering the pause() without ever catching a signal.
- a SIGCONT will restart the ALARM_PAUSE alarm when one is running, since the 
  signal might come from gLExec itself being woken up and hence the alarm might
  have been missed.
- dump which signal caused a suspending payload.
- reset all signal related flags as soon as child finishes.
- lower log levels of number of messages to keep logging essential.

Block less signals: be more restrictive with use of glexec_block_all_signals(),
only use when really unlikely an actual (not user-sent) fatal signal arrives.
E.g. a blocked but occurring SIGSEGV leads to a crash
For log functions: only normal blocked set in glexec_log, while all blocked in
glexec_signal_log. During flushing of signal log, only during actual loop.

main_util.c:
- test explicitly for negative return code of getgroups()
configure.ac / Makefile.am:
- Add -pie -fpie compile flags for GNU.
- make binary unreadable.


------------------------------------------------------------------------
r15962 | msalle | 2012-02-09 14:51:09 +0100 (Thu, 09 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Fix prototype to match function.

------------------------------------------------------------------------
r15961 | msalle | 2012-02-09 14:47:13 +0100 (Thu, 09 Feb 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h

Update int2charstr to accept int instead of unsigned.
Some extra comments, clarifications.


------------------------------------------------------------------------
r15960 | msalle | 2012-02-08 10:39:10 +0100 (Wed, 08 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c

Force initializing the log prefix in the log function, even if the log function
doens't log, to have it ready if we do an emergency exit.

------------------------------------------------------------------------
r15959 | msalle | 2012-02-08 10:35:15 +0100 (Wed, 08 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c

Print bare-bone prefix when exiting before prefix has been setup

------------------------------------------------------------------------
r15958 | msalle | 2012-02-08 09:57:23 +0100 (Wed, 08 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Fix missing ,

------------------------------------------------------------------------
r15957 | msalle | 2012-02-08 09:56:30 +0100 (Wed, 08 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Lower loglevel for catching of signals to INFO while logging at NOTICE when
actually forwarding them.

------------------------------------------------------------------------
r15956 | msalle | 2012-02-07 15:14:16 +0100 (Tue, 07 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Make sure to handle signals caught between fork and start of waitpid() loop

------------------------------------------------------------------------
r15955 | msalle | 2012-02-07 14:53:11 +0100 (Tue, 07 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Upgrade one notice to warning, don't print negative pids

------------------------------------------------------------------------
r15954 | msalle | 2012-02-07 14:39:14 +0100 (Tue, 07 Feb 2012) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Move parsing of wait status close to obtaining the value. This improves the
possibilities of logging it.
Downgrade number of warnings to notices.

------------------------------------------------------------------------
r15953 | msalle | 2012-02-07 12:25:27 +0100 (Tue, 07 Feb 2012) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Further cleanup of code: 
- combine glexec_safe_kill() and glexec_send_signal(), cleanup resulting code.
- new function glexec_emergency_send_signal() for calling from 
  glexec_fatal_action(). Only signal unsafe function is seteuid().
  It also updates the return value if it does the actual wait()
- reset global wpid and status inside glexec_parse_waitstatus() and make sure
  they are available as soon as possible, such that even from a fatal signal
  handler we can parse the results.


------------------------------------------------------------------------
r15952 | msalle | 2012-02-06 23:30:20 +0100 (Mon, 06 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Slight rewording of print statement upon exit.

------------------------------------------------------------------------
r15951 | msalle | 2012-02-06 15:56:33 +0100 (Mon, 06 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h

Make sure to explicitly call fsync() and close() inside the emergency_flush
function.

------------------------------------------------------------------------
r15950 | msalle | 2012-02-06 15:41:10 +0100 (Mon, 06 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix typo

------------------------------------------------------------------------
r15949 | msalle | 2012-02-06 13:20:53 +0100 (Mon, 06 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Sync error messages.

------------------------------------------------------------------------
r15948 | msalle | 2012-02-06 13:03:29 +0100 (Mon, 06 Feb 2012) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Minor updates:
- a few comments
- don't exit with global_ipc_childrc if the waitpid() on it failed,
- explicitly set global_ipc_numsigsent instead of increasing it
- don't need to call glexec_signal_log in forwarding to epilogue.


------------------------------------------------------------------------
r15947 | msalle | 2012-02-06 12:35:25 +0100 (Mon, 06 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Merge core and abort signal actions as they are very similar. This is now the
only signal handler that never returns.

------------------------------------------------------------------------
r15946 | msalle | 2012-02-05 22:03:01 +0100 (Sun, 05 Feb 2012) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Make sure to only forward the first and/or most important signals: sigterm etc.
go over e.g. sigusr1.

------------------------------------------------------------------------
r15945 | msalle | 2012-02-05 21:53:09 +0100 (Sun, 05 Feb 2012) | 26 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h

Make code almost entirely signal safe. Almost all handling is deferred to the
waitpid() loops in glexec_waitchild() and glexec_waitepilog(). The only
exceptions are sending signals from the SEGV and ABORT type handlers, and
upgrading to root once the payload has caught a signal.
Some info is printed on STDERR to compensate for the loss of syslog, including
caught signal and child exitcode (when present).
glexec_exit:
- new static function int2charstr() to do int to char string conversion
- new exit error code for failed fork()
- glexec_signal_exit is fully signal safe, and hence does not log to syslog.
glexec_log:
- make glexec_flush_signallog() public
- add comments
- emergency flushing doesn't log to syslog
glexec_ipc:
- move forwarding of signals to the main waitpid loops, this alone makes the
  code almost entirely signal safe
- for this we need two new internal functions: glexec_forward_to_payload() and
  glexec_forward_to_epilog() but the _term_action, _alarm_action and
  _other_action have become much simpler.
- Since we need to response on interrupted waitpid() we remove the SA_RESTART
  flag.
- New global global_ipc_caught_signal, containing the to-be-handled signal. Note
  that a sigterm/kill overrides others.


------------------------------------------------------------------------
r15944 | msalle | 2012-02-03 15:09:38 +0100 (Fri, 03 Feb 2012) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.h

Minor updates, reorder, add comments.

------------------------------------------------------------------------
r15943 | msalle | 2012-02-03 15:08:37 +0100 (Fri, 03 Feb 2012) | 26 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h

Further rework to make signal safe:
glexec_exit
- new function glexec_signal_exit() which should be called when a signal handler
  wants to exit and possibly flush the signal logging buffer. Substitute for
  glexec_exit.
glexec_log
- rename all global variables to start with global_
- new function glexec_emergency_flush_signallog() that can be called to flush
  the signal logging buffer even from a signal handler itself.
- prefix for logging to file is put in a global static, such that we don't have
  to recreate it inside a signal handler (as in
  glexec_emergency_flush_signallog)
- test for exit values of time() and gmtime()
- new global variable to keep the filedescriptor in addition to the stream for
  the logfile, such that we can write to it in signal handler.
glexec_ipc
- put all signal handlers at end for clarity
- call glexec_signal_exit instead of glexec_exit
- call glexec_emergency_flush_signallog when needed
- make glexec_accounting signal safe by optionally logging to the buffer instead
  of syslog
- don't use freopen but open() and dup2() to redirect stdin
- don't use strerror from signal handlers
- new function glexec_write_stderr() to print to stderr instead of fprintf()


------------------------------------------------------------------------
r15942 | msalle | 2012-02-02 17:55:52 +0100 (Thu, 02 Feb 2012) | 9 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h

Implementing a pretty-much signal safe log function: glexec_signal_log
- it uses a static array along the lines of the linux kernel.
- Each time glexec_log is called, the buffer is flushed (when non-empty).
- glexec_close_log also flushes the buffer (when non-empty).
- when the buffer is too full, it's truncated and a separate error message is
  logged (at flushing time) stating the number of missed messages.
- All signal handlers, and functions used within these, should use the
  glexec_signal_log function.

------------------------------------------------------------------------
r15941 | msalle | 2012-02-02 12:34:30 +0100 (Thu, 02 Feb 2012) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main_util.c

Cleanup code:
- use static functions when they are internal
glexec_ipc.c:
- merge two global stdin options variables (payload and lingering glexec) into
  one and define values using an enum instead of defines
- reorder function in more logical order to improve readability.
- group internal functions at the end.
glexec_lcas.c and glexec_lcmaps.c:
- prefix even internal functions with glexec_ to prevent potential name clashes
glexec_log.c:
- remove unused struct glexec_message

------------------------------------------------------------------------
r15940 | msalle | 2012-02-01 16:29:01 +0100 (Wed, 01 Feb 2012) | 9 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_log.c

Fix potential lockup when two signals collide:
- Block all signals during signal handling
- Add new function glexec_block_allsignals()
- Block all signals during glexec_log()
- When blocking part of signals, use SIG_BLOCK, not SIG_SETMASK, otherwise me
  might unblock some signals.
- Use enum for stages of child processes for clarity.
- Bump version

------------------------------------------------------------------------
r15721 | msalle | 2011-12-14 15:29:14 +0100 (Wed, 14 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Last update of ChangeLog to get into 0_9_0 tag

------------------------------------------------------------------------
r15705 | msalle | 2011-12-13 18:09:20 +0100 (Tue, 13 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/doc/man/glexec.1.src

Fix glexec manpage (typos)

------------------------------------------------------------------------
r15704 | msalle | 2011-12-13 17:48:58 +0100 (Tue, 13 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main_util.c

Lowering log levels of few messages to LOG_DEBUG
Clarifications, typo fixes etc in glexec.conf manpage.

------------------------------------------------------------------------
r15699 | msalle | 2011-12-13 09:55:32 +0100 (Tue, 13 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog

Update ChangeLog to include 'Bumping version to ... 0.9.0'.

------------------------------------------------------------------------
r15698 | msalle | 2011-12-13 09:54:51 +0100 (Tue, 13 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/configure.ac

Bumping version to release version 0.9.0.

------------------------------------------------------------------------
r15697 | msalle | 2011-12-13 09:53:43 +0100 (Tue, 13 Dec 2011) | 7 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_closefrom.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Move closing of file descriptors to glexec_fork_and_enforce() in main_util
Introduce new function glexec_close_dirp() in glexec_close_dirp, which we use to
make sure to close the directory pointer in the child IFF we are using a
pre-2001 POSIX version (or no POSIX at all) and we used a dirp. On POSIX 2001
and later, this is done automatically when using opendir+filedescriptor.


------------------------------------------------------------------------
r15694 | msalle | 2011-12-12 13:14:34 +0100 (Mon, 12 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_closefrom.c

Remove unused variable.

------------------------------------------------------------------------
r15693 | msalle | 2011-12-12 13:13:56 +0100 (Mon, 12 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/src/glexec_closefrom.h

On MacOS where dirfd is a macro, we need to have dirent.h. Also need to have
all the HAVE_ defines.

------------------------------------------------------------------------
r15692 | msalle | 2011-12-12 12:10:36 +0100 (Mon, 12 Dec 2011) | 6 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_closefrom.h
   M /trunk/glexec/src/main_util.c

Open the /proc/$$/fd or /dev/fd directory before calling lcmaps. In case LCMAPS
does the userswitch, this could otherwise cause problems on older RH systems,
where /proc/$$/fd can no longer be opendir()-ed after a userswitch. Note that
opendir automatically enforces a close-on-execve such that the payload will not
see the open directory handle.

------------------------------------------------------------------------
r15689 | msalle | 2011-12-11 18:51:02 +0100 (Sun, 11 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_closefrom.c

Only return non-zero exit value if close failed on a existing filedescriptor.

------------------------------------------------------------------------
r15688 | msalle | 2011-12-11 16:55:10 +0100 (Sun, 11 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/src/glexec_ipc.c

Add also SIGSTKFLT to core_action handlers. It should not be used, but seems to
be on some platforms.

------------------------------------------------------------------------
r15687 | msalle | 2011-12-11 16:28:28 +0100 (Sun, 11 Dec 2011) | 5 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/src/glexec_ipc.c

Two small bugfixes:
- don't use variable name signal, as it masks a variable in signal_iso.h header
  file on OpenSolaris. 
- global_ipc_status should be int, not pid_t

------------------------------------------------------------------------
r15686 | msalle | 2011-12-11 16:16:16 +0100 (Sun, 11 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/src/main_util.c

Fix layout usage() text

------------------------------------------------------------------------
r15685 | msalle | 2011-12-11 14:50:38 +0100 (Sun, 11 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/doc/man/glexec.conf.5.src

Extensive update glexec.1 manpage with mostly SIGNAL HANDLING and EPILOGUE.
Update dates for both manpages.

------------------------------------------------------------------------
r15682 | msalle | 2011-12-11 12:49:14 +0100 (Sun, 11 Dec 2011) | 13 lines
Changed paths:
   M /trunk/glexec/ChangeLog
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Minor bugfixes/updates:
- Make it optional to close open filedescriptors, useful for e.g. valgrind: new
  option close_fds, default is yes. NEWS, glexec.conf and glexec.conf manpage
  updated accordingly.
- Install extra sighandlers also in non-linger mode.
- WARNING -> Warning, ERROR -> Error
- Log which realtime signal failed
- Log explicitly which debug sighandlers are installed
- Don't fail if we cannot switch euid when examining epilogue: LCMAPS could have
  done the switch.
- Log target sgids only once, just after LCMAPS run and clarify the text.


------------------------------------------------------------------------
r15681 | msalle | 2011-12-10 21:40:57 +0100 (Sat, 10 Dec 2011) | 5 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

Move the real-time signal handlers to the extra_sig_handlers (introducing new
function) which can be disabled via the config file. Move installation of them
forward, to before the auth callout. Update NEWS and glexec.conf manpage
accordingly.

------------------------------------------------------------------------
r15675 | msalle | 2011-12-09 14:50:03 +0100 (Fri, 09 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/main_util.c

Update usage text, unify between binary usage text and manpage. Fix few mistakes
in NEWS file.

------------------------------------------------------------------------
r15672 | msalle | 2011-12-09 10:30:17 +0100 (Fri, 09 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/NEWS
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h

Also set variable GLEXEC_EPILOG_TARGET_PGID containing the payload process
group. Updating NEWS file accordingly.

------------------------------------------------------------------------
r15671 | msalle | 2011-12-08 17:43:21 +0100 (Thu, 08 Dec 2011) | 5 lines
Changed paths:
   A /trunk/glexec/ChangeLog
   M /trunk/glexec/NEWS
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/src/glexec_exit.c

Updating NEWS file for upcoming 0.9 release.
Cleanup of printing of information at exit.
Adding ChangeLog file from output of
svn log -v http://ndpfsvn.nikhef.nl/ro/mwsec/trunk/glexec

------------------------------------------------------------------------
r15666 | msalle | 2011-12-04 19:19:57 +0100 (Sun, 04 Dec 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Add real-time-signal handlers, with action to forward to payload.

------------------------------------------------------------------------
r15665 | msalle | 2011-12-04 16:48:32 +0100 (Sun, 04 Dec 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Make sure to also write the correct uid/gid in case of a unique proxy name.


------------------------------------------------------------------------
r15664 | msalle | 2011-12-04 15:55:04 +0100 (Sun, 04 Dec 2011) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/main_util.c

Allowing GLEXEC_TARGET_PROXY to be /dev/null which prevents writing a target
proxy.
Fixing bugs:
- need to explicitly specify which uid/gid to use for proxy
- need to unset GLEXEC_TARGET_PROXY and GLEXEC_SOURCE_PROXY from target
  environment *after* that has been initialized.
- protect glexec_target_unsetenv against empty environment.

------------------------------------------------------------------------
r15648 | msalle | 2011-11-29 14:55:42 +0100 (Tue, 29 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/utils/Makefile.am
   D /trunk/glexec/utils/glexec-nagios.sh

Removing glexec-nagios.sh from here. It will be in pdpsoft under nagios/glexec/

------------------------------------------------------------------------
r15647 | msalle | 2011-11-29 14:31:51 +0100 (Tue, 29 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/utils/Makefile.am
   A /trunk/glexec/utils/glexec-nagios.sh

Adding nagios plugin for gLExec.

------------------------------------------------------------------------
r15646 | msalle | 2011-11-29 09:43:18 +0100 (Tue, 29 Nov 2011) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c

Fix few errors in lcas/lcmaps, cleanup signal sending procedure:
- switch to effective root just before actually sending a signal, and return to
  original effective user just afterwards. Since we block all signals, there is
  no possibility of returning to the wrong user.

------------------------------------------------------------------------
r15644 | msalle | 2011-11-28 17:40:02 +0100 (Mon, 28 Nov 2011) | 14 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main_util.c

Update of LCMAPS and LCAS lookup of libdir:
- use glexec.conf value if valid abs dir, if not, try builtin LCMAPS_LIBDIR or
  LCAS_LIBDIR. If they are also not valid abs dir, set to ""
- When a lcmaps_libdir or lcas_libdir is set, log its value
- When libdir is set, set LCMAPS_MODULES_DIR/LCAS_MODULES_DIR, but only when its
  a valid abs dir.
- don't setenv LCMAPS_LIBDIR or LCAS_LIBDIR since no one uses them.
- create new function glexec_dir_is_abs() testing a path is an absolute path to
  a directory.
When sending signal to child fails due to absense of child, only log a NOTICE,
not an ERROR.



------------------------------------------------------------------------
r15643 | msalle | 2011-11-28 15:15:01 +0100 (Mon, 28 Nov 2011) | 9 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Handle signalling more securely, mainly via new glexec_safe_kill:
- make sure to first do a waitpid() with WNOHANG to check existence of the
  process. Block *all* signals between this waitpid() and the kill(): no other
  process can do the wait(), so even if the child finishes in the meantime, it
  will remain as zombie such that the pid is safe.
- Store the state if it waitpid() actually gets the status of a finished child.
- Don't send signal to process group after child has finished, but only warn in
  log if there are processes left.

------------------------------------------------------------------------
r15637 | msalle | 2011-11-27 15:57:44 +0100 (Sun, 27 Nov 2011) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Become root as soon as we receive a term type signal, to prevent sigkill's
between term and kill (in grace time). Introduce new internal function to do
this.

------------------------------------------------------------------------
r15631 | msalle | 2011-11-25 10:50:56 +0100 (Fri, 25 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Update 'usage' text to reflect current options. Include reference to manpage.

------------------------------------------------------------------------
r15630 | msalle | 2011-11-25 10:27:52 +0100 (Fri, 25 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Cleanup of glexec_exit: cleaner output on stderr and logfile.

------------------------------------------------------------------------
r15625 | msalle | 2011-11-24 11:41:06 +0100 (Thu, 24 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_ipc.c

Cleanup of glexec_ipc waitpid() code, to make program flow more clear.
Cleanup of Makefile.am comments.

------------------------------------------------------------------------
r15623 | dennisvd | 2011-11-24 00:30:25 +0100 (Thu, 24 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/etc/lcmaps.db.in
   M /trunk/glexec/utils/glexec-configure.sh.in

Removed all markers, marker detection, and force option; detection of manual change is 
offloaded to other tools (ufc for Debian).

------------------------------------------------------------------------
r15621 | msalle | 2011-11-23 19:04:55 +0100 (Wed, 23 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

Figure out dynamic library suffix in configure.


------------------------------------------------------------------------
r15620 | msalle | 2011-11-23 16:32:57 +0100 (Wed, 23 Nov 2011) | 12 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_lcmaps.c

Few bugfixes, updates:
- Add test for and use of /dev/fd on MacOS to be used instead of /proc/$$/fd for
  closefrom. Also includes test for MacOS macro definition of dirfd().
- On Linux getsid prototype in unistd.h needs _XOPEN_SOURCE>=500, add this by
  hand (use 600 to prevent missing geteuid()).
- Make putting getsid in env of epilogue depending on existence of the function.
- Close tty for lingering gLExec on SIGHUP and don't try retaking/giving tty
  when failed or closed. Test each time STOP/CONT status of
  global_ipc_payloadstdinopts.
- Log LCMAPS version.


------------------------------------------------------------------------
r15617 | dennisvd | 2011-11-23 15:41:43 +0100 (Wed, 23 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src

added -o and -d options.

------------------------------------------------------------------------
r15616 | dennisvd | 2011-11-23 14:56:59 +0100 (Wed, 23 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

added options to set output file names
enhanced usage text.

------------------------------------------------------------------------
r15614 | dennisvd | 2011-11-23 09:38:13 +0100 (Wed, 23 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

fixed wrong placeholder for module path

------------------------------------------------------------------------
r15613 | dennisvd | 2011-11-23 09:36:54 +0100 (Wed, 23 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/etc/lcmaps.db.in

Add the magic marker to the configuration files to correspond to glexec-configure
output.

------------------------------------------------------------------------
r15612 | msalle | 2011-11-22 17:15:40 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Check for Solaris closefrom() function.

------------------------------------------------------------------------
r15611 | msalle | 2011-11-22 17:12:57 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c

Don't print a uid/gid for epilogue in logging only mode.

------------------------------------------------------------------------
r15610 | msalle | 2011-11-22 17:08:52 +0100 (Tue, 22 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

Fix bug: when nsgid==0 should return empty string: gcalloc(1,1), not
gcalloc(1,0);

------------------------------------------------------------------------
r15609 | msalle | 2011-11-22 16:29:04 +0100 (Tue, 22 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_ipc.c

Fix typos in epilog env, e.g.getsid needs argument. Also do explicit cast from
pid_t to int and vice versa. Solaris complains about it.

------------------------------------------------------------------------
r15608 | msalle | 2011-11-22 16:22:27 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

stage is a pid_t not an int: solaris warns about it.

------------------------------------------------------------------------
r15607 | msalle | 2011-11-22 16:19:37 +0100 (Tue, 22 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/main_util.c

Forgotten to change the sigset name in header file.
Include limits.h for UINT_MAX

------------------------------------------------------------------------
r15605 | msalle | 2011-11-22 16:00:08 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c

Add session ID and process group of gLExec process to epilogue environment.

------------------------------------------------------------------------
r15603 | msalle | 2011-11-22 15:46:56 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

print_defines was set to wrong value, and potentially used uninitialized.

------------------------------------------------------------------------
r15601 | msalle | 2011-11-22 15:33:28 +0100 (Tue, 22 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_closefrom.c
   M /trunk/glexec/src/glexec_ipc.c

Small fixes for MacOS: sigset is a variable declared by signal.h (?!) and some
variables were declared in wrong place in glexec_closefrom().

------------------------------------------------------------------------
r15600 | msalle | 2011-11-22 15:29:35 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Small fix for undefined SIGPOLL on MacOS

------------------------------------------------------------------------
r15597 | msalle | 2011-11-22 15:01:16 +0100 (Tue, 22 Nov 2011) | 14 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/Makefile.am
   A /trunk/glexec/src/glexec_closefrom.c
   A /trunk/glexec/src/glexec_closefrom.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Update to allow lingering gLExec to close all file descriptors except its own.
- Cleanup of configure.ac: new tests for closefrom, removal of unused tests and
  the outdated CVS changelog
- new files glexec_closefrom.[ch]. C file is adaptation of bsd-closefrom.c 
  appearing in openssh. It closes all file descriptors from a given minimum 
  using whatever is available.
- main_util has function glexec_close_fds which closes log, closes all 
  filedescriptors except std{in,out,err} and reopens log. Note that syslog
  uses a socket which we may not close except with closelog(). 

Since lcas logging hasn't yet been redone, keep the glexec.conf value for 
lcas_debug_level at 0.


------------------------------------------------------------------------
r15596 | dennisvd | 2011-11-22 12:46:55 +0100 (Tue, 22 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec-configure.8.src

Extended to include the new command-line options.

------------------------------------------------------------------------
r15595 | dennisvd | 2011-11-22 12:45:33 +0100 (Tue, 22 Nov 2011) | 12 lines
Changed paths:
   M /trunk/glexec/utils/glexec-configure.sh.in

Major overhaul:
  - configure glexec.conf as well as lcmaps.db
  - extend command-line options for several setting:
    + log files
    + log level
    + white list
    + action id/resource id
  - changed the marker to be more descriptive
  - allow forced overwrite of configuration in absence of marker
  - removed posix_enf from all generated lcmaps.db cases
  - use getopt to parse GNU style long options

------------------------------------------------------------------------
r15594 | msalle | 2011-11-21 17:45:46 +0100 (Mon, 21 Nov 2011) | 55 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

glexec_ipc:
- TERM/INT etc. action is only allowed from calling user, root or non-process,
  to protect from e.g. payload user (only relevant on non-linux). Only SIGKILL
  and SIGSTOP can go through.
- implementing proper tty behaviour: when stdin is a tty owned by gLExec's pgid,
  and the payload will have its own pgid, control of the tty will be given over
  to payload. This can be overridden using the force_payload_background conf 
  setting or -b cmdline option. If a present tty is not taken over, stdin will
  be closed for payload to prevent a SIGTTIN for the payload.
- SIGTTIN and SIGTTOU are ignored (SIG_IGN) to enable 'jobcontrol' from gLExec
  with its payload. Otherwise we receive lots of SIGTTOU if payload suspends and
  we retake control over the tty (tcsetpgrp())
- gives feedback on stderr when payload STOPs or CONTinues. Also take over tty
  and return in corresponding situations.
- take back tty when job finishes, such that we can catch a ctrl-c or ctrl-z
  (only from root) or at least give feedback.
- caller_uid is set into glexec_ipc from glexec_get_caller() in main_util
- increase default GLEXEC_TERM_GRACE_TIME to 5 seconds. 

glexec_util:
- new method glexec_set_effective_uid(uid) to set specific uid.

glexec_lcmaps:
- allow for *enabling* voms checking, useful in case it has been disabled at 
  lcmaps buildtime.

glexec_conf:
- new function glexec_conf_boolean returning 0 or 1 for a {yes,true,no,false}
  option in the glexec.conf file. Handles internally illegal values. When unset,
  the default is returned.

main_util:
- update glexec_get_runmode() to allow handling of more cmdline options, in
  particular -b for 'run payload in background' and returns as one of parameters
  the executable.
- rename internal define ID_LEN into _JOBREPOID_LEN which is less clash-prone
- use new glexec_conf_boolean()
- split glexec_setup_target_account into glexec_setup_target_cwd and
  glexec_setup_target_account since the latter doesn't need to run under target
  identity. The former will run under *effective* uid target. Directly after
  writing the proxy gLExec can now return to calling user.
- glexec_userswitch now only sets the effective uid, not the real uid, since we
  don't need both. All groups are still set.
- glexec_write_source_proxy returns filename of target proxy or NULL when none
  instead of GLEXEC_ERROR and fails directly if an unknown locking method has
  been specified.

main:
- split setup of env for target and chdir to target.

glexec.conf manpage:
- cleanup unused options
- cleanup policies: assume glexec switches.


------------------------------------------------------------------------
r15575 | dennisvd | 2011-11-16 12:29:14 +0100 (Wed, 16 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   A /trunk/glexec/doc/man/glexec-configure.8.src

Added a manual page for the glexec-configure tool

------------------------------------------------------------------------
r15574 | dennisvd | 2011-11-16 12:08:59 +0100 (Wed, 16 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/utils/Makefile.am
   D /trunk/glexec/utils/configure-glexec.sh.in
   A /trunk/glexec/utils/glexec-configure.sh.in (from /trunk/glexec/utils/configure-glexec.sh.in:15573)

re-renamed configuration tool to have glexec- prefix.

------------------------------------------------------------------------
r15573 | dennisvd | 2011-11-16 11:54:08 +0100 (Wed, 16 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/utils/Makefile.am

fixed utility name

------------------------------------------------------------------------
r15572 | dennisvd | 2011-11-16 11:13:35 +0100 (Wed, 16 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   A /trunk/glexec/common.am
   A /trunk/glexec/utils
   A /trunk/glexec/utils/Makefile.am
   A /trunk/glexec/utils/configure-glexec.sh.in

Added a configuration script in utils/
split off the common 'edit' macro in a separate Automake include file.

------------------------------------------------------------------------
r15571 | msalle | 2011-11-15 16:34:47 +0100 (Tue, 15 Nov 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Fix missing arguments.

------------------------------------------------------------------------
r15569 | msalle | 2011-11-15 16:18:58 +0100 (Tue, 15 Nov 2011) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Cleanup handling of CTRL-C/SIGINT:
- reorder if/then/else to make flow clearer and simpler.
- always log on the cmdline, except when from other non-root user in payload
  stage (i.e. when pilot user sends SIGINT using e.g. kill -INT).
- clarify comments.
- only use WARNING when a non-standard situation occurs (premature end of
  payload etc.). ERROR is for SEGV etc. Others are NOTICE.

------------------------------------------------------------------------
r15562 | msalle | 2011-11-15 10:05:13 +0100 (Tue, 15 Nov 2011) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/main.c

Small updates in handling SIGTSTP (ctrl-z):
- caller==root is allowed,
- always log on stderr, such that user knows.
- forward to epilogue when from root
Also forward WINCH when available (window change).

------------------------------------------------------------------------
r15561 | msalle | 2011-11-14 22:15:38 +0100 (Mon, 14 Nov 2011) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

Set handlers for remaining signals, incl. those not used on all platforms.
Some are used by debuggers and profilers, those can be disabled by setting the
debug_mode in the config file to yes.


------------------------------------------------------------------------
r15560 | msalle | 2011-11-14 17:28:13 +0100 (Mon, 14 Nov 2011) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Forward a SIGTSTP and SIGCONT to payload process when applicable, instead of
ignoring it always.


------------------------------------------------------------------------
r15559 | msalle | 2011-11-14 16:02:14 +0100 (Mon, 14 Nov 2011) | 44 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

glexec_ipc:
- child and epilog processes exit always with a GLEXEC_EXIT_INTERNAL_ERROR when
  not execve'ed to see difference between exec failure and internal failure.
- make use of setpgid optional using use_setpgid={yes,no} in glexec.conf
- send a SIGTERM to pgid when child has finished to terminate potential
  daemonized grandchildren, note that we can't do a wait on these, so it's not
  easily possible to see if they have been killed. Leave that for a epilogue.
- use separate action for ABRT and SYS, since they should behave as CORE
  (immediate exit) but don't have an si_addr. E.g. failed malloc can send an
  ABRT.
- glexec_exit with a GLEXEC_UNCLASIFIED in term_action when receiving something
  else than SIGINT or SIGTERM.

glexec_epilog:
- also set GLEXEC_EPILOG_GLEXEC_{CWD,USER,GROUP} and
  GLEXEC_EPILOG_TARGET_{USER,GROUP} environment variables
- exit with a GLEXEC_EXIT_INTERNAL_ERROR instead of a exit(1) when failing
  before the execve.

glexec_lcmaps:
- Only log almost warnings to LOG_NOTICE, else to LOG_INFO
- builtin LCMAPS_DEBUG_LEVEL is 5

glexec_conf:
- automatically add mem for 10 new entries when table is too small.
- no need to calloc the table, we don't rely on the entries being NULL.

main_util:
- set correct value for use_setpgid, see glexec_ipc.
- lower log levels for a number of LOG_NOTICE messages, use LOG_NOTICE only for
  almost warnings.
- update printing of macro definitions (glexec -V)
- default loglevel is now LOG_INFO. For syslog that means only LOG_DEBUG is not
  send to syslog.

glexec.conf:
- new default log_level in glexec.conf is 3 (=LOG_NOTICE, builtin default is
  4==LOG_INFO).
- same for lcas and lcmaps: builtin default 4, glexec.conf 3
- add use_setpgid

glexec.conf.5:
- add use_setpgid

------------------------------------------------------------------------
r15557 | msalle | 2011-11-11 14:32:06 +0100 (Fri, 11 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src

Updating glexec.conf.5 manpage and glexec.conf template to reflect new options
and new defaults.

------------------------------------------------------------------------
r15556 | msalle | 2011-11-11 13:39:03 +0100 (Fri, 11 Nov 2011) | 11 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h

Rework of config file parsing. 
- Parsing code is completely new but should be fully backwards compatible with
  improvements.
- The internal representation is no longer a hash table, as the code was leaking
  and too obfuscated to fix.
- exit values for glexec_conf functions are now either 0 (succes) or -1
  (failure) except for glexec_conf_read_config which returns a standard
  GLEXEC_ERROR which can be forwarded to glexec_exit.
- removal of unneeded or obfuscated structures and removal of unneeded include
  files.

------------------------------------------------------------------------
r15555 | msalle | 2011-11-10 14:25:08 +0100 (Thu, 10 Nov 2011) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c

Fix memory leak: abs_epilogpath can be freed in parent or upon failure. Also fix
bug in call to cgul_realpath(): use NULL instead of struct. Fix typo in error
message when realpath fails: should use original name.

------------------------------------------------------------------------
r15554 | msalle | 2011-11-10 14:07:13 +0100 (Thu, 10 Nov 2011) | 5 lines
Changed paths:
   M /trunk/glexec/src/main.c

Have to reorder calling of write_proxy and setup epilogue, as we need the result
from the write_proxy (e.g. X509_USER_PROXY and GLEXEC_TARGET_PROXY) in the
environment of the epilogue script. Also move the logging of the real command as
close as possible to the fork and run.

------------------------------------------------------------------------
r15553 | msalle | 2011-11-10 13:50:32 +0100 (Thu, 10 Nov 2011) | 15 lines
Changed paths:
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_epilog.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main_util.c

Logging:
- Change default diff_syslog_levels to true. Can still be disabled to get old
  behaviour.
- lower logging of 'Trying to read <config file>...' message to LOG_NOTICE
  instead of LOG_WARNING.
- rename 'child' into 'payload' or 'epilogue'.
Epilogue:
- figure out absolute canonical pathname for epilogue and use it for second
  trustedness test and actual execve
Exit value:
- When payload child fails before execve, trigger a GLEXEC_EXIT_INTERNAL_ERROR
  exit value which in turn triggers a GLEXEC_EXIT_CHILD_PROCESS_RC_OVERLAP exit
  value for gLExec itself: this prevents it from looking as if the payload
  itself failed.

------------------------------------------------------------------------
r15552 | msalle | 2011-11-10 11:04:22 +0100 (Thu, 10 Nov 2011) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec_ipc.c

Add CTRL-z (SIGTSTP) to log-and-ignore action.
Fix for CTRL-c on MacOS: Linux interprets a ctrl-c as coming from kernel, Mac as
coming from user. Even when running as root, on MacOS a user is hence able to
send a SIGINT to a process.


------------------------------------------------------------------------
r15545 | msalle | 2011-11-09 17:49:50 +0100 (Wed, 09 Nov 2011) | 7 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Splitting glexec_fork_and_enforce into glexec_get_linger_mode and
glexec_fork_and_enforce in order to be able to setup the epilogue after
determining whether to linger but before the glexec_fork_and_enforce. This was
necessary since the no-linger mode otherwise would still setup the epilogue.
Also preventing kill_delay is 0. Illegal values (too large, too small, not an
int) now results in use of defaults.

------------------------------------------------------------------------
r15544 | msalle | 2011-11-09 16:46:30 +0100 (Wed, 09 Nov 2011) | 65 lines
Changed paths:
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/glexec_epilog.c
   M /trunk/glexec/src/glexec_epilog.h
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_ipc.c
   M /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

Major update, including epilogue functionality:
- epilogue is triggered when epilog = <path> is set in config file, after
  payload has actually ran.
- epilogue runs as root/root for at most 300 seconds, unless overridden using
  epilogue_user, epilogue_group and epilogue_timeout. The executable must be
  trusted for root and epilogue_user/epilogue_group when specified.
- upon failure of epilog, the exit value of glexec will be 202.
- epilogue inherits the target environment with an additional set of
  GLEXEC_EPILOG_ variables containing information about the caller/target user
  etc. If set at caller side, they will not be forwarded to the epilogue.
glexec_ipc:
- new function glexec_get_childrc and glexec_can_switch to expose the internal
  values.
- log and fprintf(stderr) for SIGINT after payload has finished: that's usually
  a CTRL-C
- also set group to 0 when payload has finished.
- explicitly set umask to a safe value GLEXEC_RUNTIME_UMASK during running and
  reset for payload
- only set epilog_timeout alarm in parent (bug).
glexec_util:
- new getter/setter functions for original umask
- new convenience function glexec_sgids2str converting a list of sgids into
  colon separated string.
glexec_lcmaps:
- don't use JOB_REPOSITORY_ID to set the LCMAPS_LOG_STRING when lcmaps>=1.5, but
  set LCMAPS_LOG_IDENT to GLEXEC_SYSLOG_IDENT instead.
  This also changes the signature of glexec_lcmaps
glexec_lcas:
- set LCAS_LOG_STRING from JOB_REPOSITORY_ID, this should be updated when lcas
  itself is updated, see glexec_lcmaps.
glexec_environ:
- update to handle epilogue environment
- set umask to safe value during runtime.
glexec_log:
- move GLEXEC_SYSLOG_IDENT to glexec_log.h
- revert to default LOG_DAEMON, since LOG_AUTH(PRIV) is meant for logs that can
  contain passwords etc. 
glexec_conf:
- glexec_conf_value() returns char * not a const char *
main_util:
- print GLEXEC_SYSLOG_FACILITY using GLEXEC_SYSLOG_FAC_NAME
- removing GLEXEC_ID adding from JOB_REPOSITORY_ID
- make it fatal if we cannot setenv JOB_REPOSITORY_ID: must be out-of-mem
- cleanup target sgids at later stage, as we still need them for epilog setup
- use strtol instead of sscanf to convert delay values from config file and test
  explicitly for illegal values (>UINT_MAX, <0)
main:
- setup and call epilogue script.
glexec_account:
- explicitly include pwd.h and grp.h needed for used types into header file.
Other:
- update etc/glexec.conf.src to include new optional settings:
    - linger_as_payload (default is linger as caller)
    - term_delay and kill_delay: grace times after SIGTERM and SIGKILL
    - epilogue: epilogue executable
    - epilogue_user: user executing epilogue (epilogue should be trusted for
      this user and root) (default root)
    - epilogue_group: group executing epilogue (default root/wheel)
    - epilogue_timeout: longest walltime for epilogue

To be done:
- manpage is now out of sync: needs updating.
- NEWS is also out of sync: needs updating.


------------------------------------------------------------------------
r15522 | msalle | 2011-11-04 14:39:50 +0100 (Fri, 04 Nov 2011) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am
   A /trunk/glexec/src/glexec_epilog.c
   A /trunk/glexec/src/glexec_epilog.h
   M /trunk/glexec/src/glexec_ipc.c

- Adding (empty) glexec_epilog files
- Adding a ignore action for a SIGPIPE
- bumping version for next updates.


------------------------------------------------------------------------
r15521 | msalle | 2011-11-04 14:04:14 +0100 (Fri, 04 Nov 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/main.c

Fix typo: had renamed the posix_enf function but forgot to update the reference
in main...

------------------------------------------------------------------------
r15520 | msalle | 2011-11-04 14:01:56 +0100 (Fri, 04 Nov 2011) | 23 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   A /trunk/glexec/src/glexec_ipc.c
   A /trunk/glexec/src/glexec_ipc.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Introducing signal handling:
- core dumping type signals such as SEGV, when NOT received from a process,
  cause gLExec to forward a SIGTERM to child process group if applicable and
  then immediately to shutdown.
- terminate type signals such as TERM cause gLExec to forward a SIGTERM to
  child process group if applicable. After a gracetime (term_delay in
  glexec.conf) send a SIGKILL when needed and then, after a small delay
  (kill_delay in glexec.conf) to exit.
- other signals are forwarded to payload (when applicable).
- glexec switches to root as soon as the payload is finished to prevent it from
  being killed by either pilot or payload user.
- other IPC code such as waiting for the child and forking is also moved to the
  new glexec_ipc.? files.

Other changes:
- preparing for introduction of epilogue functionality. This is already prepared
  into the signal handling code.
- default LOG_FACILITY on linux is now LOG_AUTHPRIV. Other platforms still use
  LOG_DAEMON.

- Version is updated to 0.8.14, first release should become 0.9.0


------------------------------------------------------------------------
r15504 | msalle | 2011-10-11 12:54:57 +0200 (Tue, 11 Oct 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Changes to the linger behaviour: linger by default as calling user.


------------------------------------------------------------------------
r15503 | msalle | 2011-10-07 10:55:32 +0200 (Fri, 07 Oct 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fixing one-too-many argument for glexec_log call.

------------------------------------------------------------------------
r15500 | msalle | 2011-09-28 12:27:34 +0200 (Wed, 28 Sep 2011) | 7 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/main_util.c

Typos in comment about backlog_path/entry and glexec.conf manpage: order was
still reversed in the docs, actual code was fixed in revision 11680, (filename
should contain target, contents should contain caller).
Also enclose GLEXEC_DEFAULT_NAME_TARGET_PROXY with #ifndef line to allow build
with a custom -D macro: should contain one %d and end with XXXXXX


------------------------------------------------------------------------
r15429 | msalle | 2011-08-15 16:55:01 +0200 (Mon, 15 Aug 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Use new style lowercase type.

------------------------------------------------------------------------
r15427 | msalle | 2011-08-12 18:05:24 +0200 (Fri, 12 Aug 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Wrong format specifier.

------------------------------------------------------------------------
r15426 | msalle | 2011-08-12 18:03:48 +0200 (Fri, 12 Aug 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Print out LCMAPS API versions for -V

------------------------------------------------------------------------
r15424 | msalle | 2011-08-12 17:51:46 +0200 (Fri, 12 Aug 2011) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

Update configure.ac to use the new lcmaps.m4 macro that correctly can test for
the new basic-only interface.

------------------------------------------------------------------------
r15418 | msalle | 2011-08-11 13:35:22 +0200 (Thu, 11 Aug 2011) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Few improvements for new LCMAPS interface:
- rework the voms functions: only load the ...disable_voms...
- always error out when one of these is absent: they should be there for the new
  API
- define the LCMAPS_UGLY_VERSION_BUG_HACK since glexec should load lcas when an
  old lcmaps is encountered (to stay backwards compatible).

------------------------------------------------------------------------
r15417 | msalle | 2011-08-11 12:36:22 +0200 (Thu, 11 Aug 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_lcmaps.c

Merging in changes from lcmaps_interface_typedefs branch: 14853-15403.
Development will continue in trunk.

------------------------------------------------------------------------
r15380 | msalle | 2011-07-29 16:35:56 +0200 (Fri, 29 Jul 2011) | 6 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Updating to correctly handle const char * const *.
- a constant array of constant strings is a
  const char * const * and not a const char **
- Also update to use new environ prototypes following the same transition.
- Bumping patch level.

------------------------------------------------------------------------
r15365 | msalle | 2011-07-20 15:48:56 +0200 (Wed, 20 Jul 2011) | 13 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c

Introduce configurability of lcmaps/lcas modules dirs to comply with Fedora
guidelines.
- new options --with-{lcas,lcmaps}-moduledir-sfx which can override the (old)
  default /modules suffix.
- can also be set in glexec.conf: {lcas,lcmaps}_moduledir_sfx = ...
- new option --with-lcas-moduledir, currently only used in manpage example.
- update manpage to reflect new options
- glexec_{lcas,lcmaps}.c no longer hardcode "/modules", but use glexec.conf
  value or build-time configure value
- remove @moduledir@ from manpage, as it's replaced by @{LCAS,LCMAPS}_MODULEDIR@
- make sure --with-lcmaps-moduledir starts with /
- bumping patch level.

------------------------------------------------------------------------
r15284 | okoeroo | 2011-04-28 14:02:01 +0200 (Thu, 28 Apr 2011) | 1 line
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added 1.) possibility to bypass the SCAS tests. 2.) adjust the logging locations of LCAS and LCMAPS. 3.) Change the generated lcas.db and lcmaps.db paths. 4.) Adjust the debug levels for LCAS and LCMAPS in the generated glexec.conf file. 5.) changed the default path for glexec to /usr/sbin/glexec 6.) Provide a full file path to the LCAS ban_user.db file for the lcas_ban module.
------------------------------------------------------------------------
r15243 | okoeroo | 2011-04-14 12:31:49 +0200 (Thu, 14 Apr 2011) | 1 line
Changed paths:
   A /trunk/glexec/NEWS

Added NEWS file.
------------------------------------------------------------------------
r15241 | msalle | 2011-04-14 12:29:43 +0200 (Thu, 14 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/bootstrap
   M /trunk/jobrepository/bootstrap
   M /trunk/lcas/bootstrap
   M /trunk/lcas-plugins-basic/bootstrap
   M /trunk/lcas-plugins-check-executable/bootstrap
   M /trunk/lcas-plugins-voms/bootstrap
   M /trunk/lcmaps-plugins-afs/bootstrap
   M /trunk/lcmaps-plugins-basic/bootstrap
   M /trunk/lcmaps-plugins-c-pep/bootstrap
   M /trunk/lcmaps-plugins-gums/bootstrap
   M /trunk/lcmaps-plugins-jobrep/bootstrap
   M /trunk/lcmaps-plugins-scas-client/bootstrap
   M /trunk/lcmaps-plugins-tracking-groupid/bootstrap
   M /trunk/lcmaps-plugins-verify-proxy/bootstrap
   M /trunk/lcmaps-plugins-voms/bootstrap
   M /trunk/scas/bootstrap

Adding --copy flag to libtoolize, which eases packaging.

------------------------------------------------------------------------
r15231 | msalle | 2011-04-11 16:44:45 +0200 (Mon, 11 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Bump version

------------------------------------------------------------------------
r15230 | msalle | 2011-04-11 16:44:25 +0200 (Mon, 11 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Add entries for tracking group-id plugins in example LCMAPS db.


------------------------------------------------------------------------
r15228 | okoeroo | 2011-04-11 10:17:06 +0200 (Mon, 11 Apr 2011) | 1 line
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Added a link to the verify-proxy Wiki page for more detailed information about the plugin's options
------------------------------------------------------------------------
r15224 | msalle | 2011-04-10 11:52:59 +0200 (Sun, 10 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Remove '\t\t\t': it doesn't print correctly.

------------------------------------------------------------------------
r15223 | msalle | 2011-04-10 11:33:25 +0200 (Sun, 10 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Slightly rewrite the new handling of missing account info for a sgid.

------------------------------------------------------------------------
r15222 | okoeroo | 2011-04-09 18:50:52 +0200 (Sat, 09 Apr 2011) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Fixing stupid typo and removed all the commented info. svn diff to your rescue ;-)



------------------------------------------------------------------------
r15221 | okoeroo | 2011-04-09 18:45:29 +0200 (Sat, 09 Apr 2011) | 1 line
Changed paths:
   M /trunk/glexec/configure.ac

Bumping version to 0.8.9 to reflect the change
------------------------------------------------------------------------
r15220 | okoeroo | 2011-04-09 18:44:01 +0200 (Sat, 09 Apr 2011) | 11 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcmaps.c

Fixing read corruption in the case where a secondary Group ID is names.

The "glexec_log(GLEXEC_LOG_INFO, "\t\t\t gid = %d(%s)\n", sgr->gr_gid, sgr->gr_name);" line is dangerous, as the sgr struct must be present. This can only happen when the glexec_getgrgid() succeeded to get a named group entry. If these can't resolve, then memory corruption will happen.

The absence of a groupname for a Group ID was an Error and gLExec would exit in failure on it. This is not going to be compatible with batch systems that use Tracking Group IDs. The message is lowered to a GLEXEC_LOG_NOTICE, and the failure is skipped.

Other code pieces in the for loop is now using the account_info->sgid_list[i] as input for the GroupID instead of the possibly non-resolved sgr object.




------------------------------------------------------------------------
r15187 | msalle | 2011-04-05 11:35:20 +0200 (Tue, 05 Apr 2011) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/main_util.c

Fix segfault when gLExec is called with argc==0 (argc==0 ?! yes, some people try
this out...). Bump version.


------------------------------------------------------------------------
r15177 | msalle | 2011-04-04 18:55:15 +0200 (Mon, 04 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

Bumping version


------------------------------------------------------------------------
r15171 | msalle | 2011-04-04 18:17:10 +0200 (Mon, 04 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Add verify-proxy and vomslocalaccount entries to lcmaps.db.in
Fix typo in pep-c name

------------------------------------------------------------------------
r15167 | msalle | 2011-04-04 16:48:34 +0200 (Mon, 04 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Further cleanup of markup.

------------------------------------------------------------------------
r15166 | msalle | 2011-04-04 16:44:10 +0200 (Mon, 04 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Reformat scas plugin text


------------------------------------------------------------------------
r15165 | dennisvd | 2011-04-04 16:34:34 +0200 (Mon, 04 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Added scas client and pep-c examples

------------------------------------------------------------------------
r15164 | msalle | 2011-04-04 16:15:44 +0200 (Mon, 04 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/etc/lcmaps.db.in

Add forgotten fix in lcmaps.db file itself.

------------------------------------------------------------------------
r15163 | msalle | 2011-04-04 16:14:09 +0200 (Mon, 04 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac

Fix bug with LCMAPS moduledir for db file: should now be properly set in the
lcmaps.db file.

------------------------------------------------------------------------
r15156 | msalle | 2011-04-04 11:22:24 +0200 (Mon, 04 Apr 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Forgot AC_SUBST for MKDIR_P, combine into one.

------------------------------------------------------------------------
r15155 | msalle | 2011-04-04 10:19:31 +0200 (Mon, 04 Apr 2011) | 6 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   D /trunk/glexec/doc/man/sed.template.in

- Fix missing MKDIR_P definition: we don't use the AC_PROG_MKDIR_P but then do 
  need to define MKDIR_P. Also use dnl instead of # since the latter might still
  expand the macro, hence hiding the missing definition.
- remove all reference to the now disused sed template file.


------------------------------------------------------------------------
r15153 | msalle | 2011-04-01 17:19:49 +0200 (Fri, 01 Apr 2011) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/etc/glexec.conf.src

Remove on EL5 unknown AC_PROG_MKDIR_P, set log_group to root (commented out) and
bump version.

------------------------------------------------------------------------
r14978 | dennisvd | 2011-03-14 11:35:15 +0100 (Mon, 14 Mar 2011) | 6 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/doc/man/sed.template.in
   M /trunk/glexec/etc/glexec.conf.src
   A /trunk/glexec/etc/lcmaps.db.in

- added code to configure.ac and Makefile.am to make
  lcas.db, lcmaps.d and glexec.conf configurable names and do
  proper replacement in configuration files/manual pages
- removed requirement on the sed template
- tested 'make distcheck'

------------------------------------------------------------------------
r14888 | dennisvd | 2011-03-04 22:17:04 +0100 (Fri, 04 Mar 2011) | 1 line
Changed paths:
   M /trunk/glexec/Doxyfile

removed executable bit
------------------------------------------------------------------------
r14887 | dennisvd | 2011-03-04 22:16:24 +0100 (Fri, 04 Mar 2011) | 1 line
Changed paths:
   M /trunk/glexec/AUTHORS
   M /trunk/glexec/Doxyfile
   M /trunk/glexec/LICENSE
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/bootstrap
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/doc/man/glexec.conf.5.src
   M /trunk/glexec/doc/man/sed.template.in
   M /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/etc/logrotate.d/glexec
   M /trunk/glexec/project/lcmaps.m4
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.txt

add keyword propery
------------------------------------------------------------------------
r14853 | dennisvd | 2011-03-04 20:55:53 +0100 (Fri, 04 Mar 2011) | 1 line
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Add keywords
------------------------------------------------------------------------
r14773 | msalle | 2011-02-28 16:46:34 +0100 (Mon, 28 Feb 2011) | 2 lines
Changed paths:
   M /trunk/glexec/etc/glexec.conf.src

Remove default lcmaps_get_account_policy

------------------------------------------------------------------------
r14766 | msalle | 2011-02-28 16:09:08 +0100 (Mon, 28 Feb 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Bumping version

------------------------------------------------------------------------
r14761 | msalle | 2011-02-28 15:39:14 +0100 (Mon, 28 Feb 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix bug: should first check if value == NULL

------------------------------------------------------------------------
r14618 | msalle | 2011-02-23 12:58:46 +0100 (Wed, 23 Feb 2011) | 3 lines
Changed paths:
   M /trunk
   M /trunk/ees
   M /trunk/ees-plugins-one
   M /trunk/glexec
   M /trunk/lcas
   M /trunk/lcas-lcmaps-gt4-interface
   M /trunk/lcas-plugins-basic
   M /trunk/lcas-plugins-check-executable
   M /trunk/lcas-plugins-voms
   M /trunk/lcmaps-plugins-afs
   M /trunk/lcmaps-plugins-basic
   M /trunk/lcmaps-plugins-c-pep
   M /trunk/lcmaps-plugins-gums
   M /trunk/lcmaps-plugins-jobrep
   M /trunk/lcmaps-plugins-scas-client
   M /trunk/lcmaps-plugins-verify-proxy
   M /trunk/lcmaps-plugins-voms
   M /trunk/scas

Updating externals to use http://ndpfsvn.nikhef.nl/ro instead of
https://ndpfsvn.nikhef.nl/repos

------------------------------------------------------------------------
r14571 | msalle | 2011-02-04 13:02:37 +0100 (Fri, 04 Feb 2011) | 5 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   A /trunk/glexec/etc/glexec.conf.src
   M /trunk/glexec/src/main.c

- Adding first glexec.conf.src. The actual glexec.conf is created using
sed.template to substitute prefix etc.
- Add proper checks on --with-glexec-conf option values.
- Add some more comments in main.c to clarify where the userswitch takes place.

------------------------------------------------------------------------
r14569 | msalle | 2011-02-03 15:35:09 +0100 (Thu, 03 Feb 2011) | 2 lines
Changed paths:
   A /trunk/EESObligationHandler (from /trunk/grid-mw-security/EESObligationHandler:14567)
   A /trunk/cgul (from /trunk/grid-mw-security/cgul:14567)
   A /trunk/ees-plugins-one (from /trunk/grid-mw-security/ees-plugins-one:14567)
   M /trunk/glexec
   D /trunk/grid-mw-security/EESObligationHandler
   D /trunk/grid-mw-security/cgul
   D /trunk/grid-mw-security/ees
   D /trunk/grid-mw-security/ees-plugins-one

Move grid-mw-security components into trunk and update externals.

------------------------------------------------------------------------
r12383 | msalle | 2011-02-03 12:16:34 +0100 (Thu, 03 Feb 2011) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

Fix typo in log message.

------------------------------------------------------------------------
r12382 | msalle | 2011-02-03 12:13:58 +0100 (Thu, 03 Feb 2011) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main_util.c

Introduce wrappers for calloc() and realloc() and protect all *alloc() functions
against 0 size. See malloc(3).

------------------------------------------------------------------------
r11987 | msalle | 2011-01-18 14:44:38 +0100 (Tue, 18 Jan 2011) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Update version

------------------------------------------------------------------------
r11951 | msalle | 2011-01-07 13:02:43 +0100 (Fri, 07 Jan 2011) | 2 lines
Changed paths:
   A /trunk/glexec/AUTHORS (from /trunk/glexec/MAINTAINERS:11944)
   D /trunk/glexec/MAINTAINERS
   M /trunk/glexec/Makefile.am
   A /trunk/lcas/AUTHORS (from /trunk/lcas/MAINTAINERS:11950)
   D /trunk/lcas/MAINTAINERS
   M /trunk/lcas/doc/Makefile.am
   M /trunk/lcas-lcmaps-gt4-interface/Makefile.am
   A /trunk/lcas-plugins-basic/AUTHORS (from /trunk/lcas-plugins-basic/MAINTAINERS:11946)
   D /trunk/lcas-plugins-basic/MAINTAINERS
   M /trunk/lcas-plugins-basic/Makefile.am
   A /trunk/lcas-plugins-check-executable/AUTHORS (from /trunk/lcas-plugins-check-executable/MAINTAINERS:11947)
   D /trunk/lcas-plugins-check-executable/MAINTAINERS
   M /trunk/lcas-plugins-check-executable/Makefile.am
   A /trunk/lcas-plugins-voms/AUTHORS (from /trunk/lcas-plugins-voms/MAINTAINERS:11947)
   D /trunk/lcas-plugins-voms/MAINTAINERS
   M /trunk/lcas-plugins-voms/Makefile.am
   A /trunk/lcmaps/AUTHORS (from /trunk/lcmaps/MAINTAINERS:11927)
   D /trunk/lcmaps/MAINTAINERS
   M /trunk/lcmaps/doc/Makefile.am
   A /trunk/lcmaps-plugins-afs/AUTHORS (from /trunk/lcmaps-plugins-afs/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-afs/MAINTAINERS
   M /trunk/lcmaps-plugins-afs/Makefile.am
   A /trunk/lcmaps-plugins-basic/AUTHORS (from /trunk/lcmaps-plugins-basic/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-basic/MAINTAINERS
   M /trunk/lcmaps-plugins-basic/Makefile.am
   A /trunk/lcmaps-plugins-c-pep/AUTHORS (from /trunk/lcmaps-plugins-c-pep/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-c-pep/MAINTAINERS
   M /trunk/lcmaps-plugins-c-pep/Makefile.am
   A /trunk/lcmaps-plugins-gums/AUTHORS (from /trunk/lcmaps-plugins-gums/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-gums/MAINTAINERS
   M /trunk/lcmaps-plugins-gums/Makefile.am
   A /trunk/lcmaps-plugins-scas-client/AUTHORS (from /trunk/lcmaps-plugins-scas-client/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-scas-client/MAINTAINERS
   M /trunk/lcmaps-plugins-scas-client/Makefile.am
   A /trunk/lcmaps-plugins-verify-proxy/AUTHORS (from /trunk/lcmaps-plugins-verify-proxy/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-verify-proxy/MAINTAINERS
   M /trunk/lcmaps-plugins-verify-proxy/Makefile.am
   A /trunk/lcmaps-plugins-voms/AUTHORS (from /trunk/lcmaps-plugins-voms/MAINTAINERS:11948)
   D /trunk/lcmaps-plugins-voms/MAINTAINERS
   M /trunk/lcmaps-plugins-voms/Makefile.am
   M /trunk/scas/Makefile.am

Renaming MAINTAINERS in AUTHORS and let them be installed.

------------------------------------------------------------------------
r11944 | msalle | 2011-01-06 17:06:02 +0100 (Thu, 06 Jan 2011) | 2 lines
Changed paths:
   A /trunk/glexec/MAINTAINERS

Adding MAINTAINERS file.

------------------------------------------------------------------------
r11943 | msalle | 2011-01-06 17:01:35 +0100 (Thu, 06 Jan 2011) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Add MAINTAINERS to doc

------------------------------------------------------------------------
r11935 | msalle | 2011-01-06 15:17:56 +0100 (Thu, 06 Jan 2011) | 3 lines
Changed paths:
   M /trunk/glexec/bootstrap
   M /trunk/glexec/configure.ac

- Sufficient to have the foreign flag in AM_INIT_AUTOMAKE
- Need -I project in aclocal.

------------------------------------------------------------------------
r11934 | msalle | 2011-01-06 14:36:08 +0100 (Thu, 06 Jan 2011) | 6 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/bootstrap
   M /trunk/glexec/configure.ac

Using AC_CONFIG_MACRO_DIR instead of AC_CONFIG_AUX_DIR for project, since it's
being used as MACRO dir.
Adding bootstrap to dist target
Moving automake's --foreign to AUTOMAKE_OPTIONS in Makefile.am
Moving aclocal's -I project to ACLOCAL_AMFLAGS in Makefile.am

------------------------------------------------------------------------
r11933 | msalle | 2011-01-06 13:58:38 +0100 (Thu, 06 Jan 2011) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Adding Doxyfile to make dist

------------------------------------------------------------------------
r11932 | msalle | 2011-01-06 13:49:05 +0100 (Thu, 06 Jan 2011) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Now really adding LICENSE to dist tarball. Previous check-in installed the
LICENSE.

------------------------------------------------------------------------
r11931 | msalle | 2011-01-06 13:46:43 +0100 (Thu, 06 Jan 2011) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Adding LICENSE to make dist.

------------------------------------------------------------------------
r11871 | msalle | 2010-12-31 14:07:47 +0100 (Fri, 31 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/bootstrap
   M /trunk/lcmaps/bootstrap
   M /trunk/lcmaps-plugins-afs/bootstrap
   M /trunk/lcmaps-plugins-basic/bootstrap
   M /trunk/lcmaps-plugins-c-pep/bootstrap
   M /trunk/lcmaps-plugins-gums/bootstrap
   M /trunk/lcmaps-plugins-scas-client/bootstrap
   M /trunk/lcmaps-plugins-verify-proxy/bootstrap
   M /trunk/lcmaps-plugins-voms/bootstrap

Syncing all bootstrap files and removing reference to src/autogen which is no
longer used.

------------------------------------------------------------------------
r11870 | msalle | 2010-12-31 13:26:01 +0100 (Fri, 31 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

Remove unused src/autogen directory.

------------------------------------------------------------------------
r11859 | msalle | 2010-12-30 12:12:57 +0100 (Thu, 30 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Updating comment about data(root)dir in mandir

------------------------------------------------------------------------
r11856 | msalle | 2010-12-30 11:30:57 +0100 (Thu, 30 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Not clear default mandir is used. Specify it in any case.

------------------------------------------------------------------------
r11840 | msalle | 2010-12-27 13:28:12 +0100 (Mon, 27 Dec 2010) | 4 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1.src
   M /trunk/glexec/doc/man/glexec.conf.5.src
   A /trunk/glexec/doc/man/sed.template.in

- further optimize automatic manpage creation, using a sed template, which is
  made during configure, using also @PACKAGE@ etc.
- adding CLEANFILES = ... to automatically cleanup generated manpages.

------------------------------------------------------------------------
r11839 | msalle | 2010-12-27 11:47:29 +0100 (Mon, 27 Dec 2010) | 4 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac

- Update information about glexec.conf
- use @ @ in manpage substitution rules, instead of $ variables: let autotools
  do the substitution.

------------------------------------------------------------------------
r11837 | msalle | 2010-12-26 20:53:28 +0100 (Sun, 26 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

DATA is also not good )-: Make it INPUT...

------------------------------------------------------------------------
r11836 | msalle | 2010-12-26 20:51:14 +0100 (Sun, 26 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

further rename to prevent warning about sources...


------------------------------------------------------------------------
r11835 | msalle | 2010-12-26 20:37:33 +0100 (Sun, 26 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

rename dist_man_MANS into man_SOURCES and add by hand to EXTRA_DIST to prevent
confusion for automake etc.

------------------------------------------------------------------------
r11834 | msalle | 2010-12-26 20:09:44 +0100 (Sun, 26 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

Fix typo: lcas-glexec.db instead of lcmaps-glexec.db


------------------------------------------------------------------------
r11833 | msalle | 2010-12-26 20:05:08 +0100 (Sun, 26 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

- Adding .src of manpages to dist target.
- remove ACLOCAL_AMFLAGS since we set it in bootstrap

------------------------------------------------------------------------
r11832 | msalle | 2010-12-26 19:46:07 +0100 (Sun, 26 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   D /trunk/glexec/doc/man/glexec.1
   A /trunk/glexec/doc/man/glexec.1.src
   D /trunk/glexec/doc/man/glexec.conf.5
   A /trunk/glexec/doc/man/glexec.conf.5.src

Let make create the manpages, to make sure we get the right prefix etc.

------------------------------------------------------------------------
r11831 | msalle | 2010-12-26 18:29:28 +0100 (Sun, 26 Dec 2010) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.h

- Set GLEXEC_CONFIG_FILE and LC{MAPS,AS}_DB_FILE using configure and
  Makefile.am, no longer use any GLITE_LOCATION type defaults.
- Make unfound LCMAPS a fatal error.

------------------------------------------------------------------------
r11789 | msalle | 2010-12-21 15:53:30 +0100 (Tue, 21 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Add explicitly man_MANS to EXTRA_DIST for 'make dist'

------------------------------------------------------------------------
r11788 | msalle | 2010-12-21 15:47:54 +0100 (Tue, 21 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Try fixing the manpage location using man_MANS instead of dist*


------------------------------------------------------------------------
r11786 | msalle | 2010-12-21 15:10:24 +0100 (Tue, 21 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/src/Makefile.am

Fixing Makefile's for 'make dist' target

------------------------------------------------------------------------
r11783 | msalle | 2010-12-21 14:26:11 +0100 (Tue, 21 Dec 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h
   D /trunk/glexec/src/util

Moving towards cgul externals entirely.

------------------------------------------------------------------------
r11782 | msalle | 2010-12-21 14:22:17 +0100 (Tue, 21 Dec 2010) | 3 lines
Changed paths:
   M /trunk/glexec
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_lcmaps.c

- Updating externals to use cgul versions.
- fix typo in Makefile.am

------------------------------------------------------------------------
r11781 | msalle | 2010-12-21 14:16:31 +0100 (Tue, 21 Dec 2010) | 6 lines
Changed paths:
   M /trunk/glexec
   D /trunk/glexec/build.xml
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   D /trunk/glexec/project/build.number
   D /trunk/glexec/project/build.properties
   D /trunk/glexec/project/configure.properties.xml
   A /trunk/glexec/project/lcmaps.m4
   D /trunk/glexec/project/properties.xml
   D /trunk/glexec/project/version.properties
   D /trunk/glexec/runautotools
   M /trunk/glexec/src/Makefile.am
   D /trunk/glexec/src/safefile-1.0
   D /trunk/glexec/test/Makefile.am
   D /trunk/glexec/test/glex.c
   D /trunk/glexec/test/glex.h
   D /trunk/glexec/test/set_lcaslcmaps.pl

Move towards EMI_0:
- removal of local copy of safefile-1.0
- use of lcmaps.m4
- removal old dead code


------------------------------------------------------------------------
r11713 | msalle | 2010-10-28 21:52:10 +0200 (Thu, 28 Oct 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version

------------------------------------------------------------------------
r11712 | msalle | 2010-10-28 21:41:52 +0200 (Thu, 28 Oct 2010) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main_util.c

Cleaning up way of opening logfile and/or syslog:
- do explicitly in glexec_setup_log() in main_util.c using new public glexec_log
  function glexec_open_log() which automatically uses the right one.
- in case of failure with logfile and hence automatic change to syslog, clean up
  and streamline the process.

------------------------------------------------------------------------
r11711 | msalle | 2010-10-27 17:12:14 +0200 (Wed, 27 Oct 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix for remaining issue in bug https://savannah.cern.ch/bugs/?72442

------------------------------------------------------------------------
r11709 | msalle | 2010-09-22 14:42:32 +0200 (Wed, 22 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

- bump age

------------------------------------------------------------------------
r11708 | msalle | 2010-09-22 14:41:41 +0200 (Wed, 22 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

- slight change in error message and location, for clarity.

------------------------------------------------------------------------
r11707 | msalle | 2010-09-22 11:24:57 +0200 (Wed, 22 Sep 2010) | 3 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Updating compound test to match new exit values for unexecutable executable and
adding subtest for non-file executable.

------------------------------------------------------------------------
r11706 | msalle | 2010-09-22 10:21:57 +0200 (Wed, 22 Sep 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/main_util.c

Make sure logfile will be opened before the userswitch, and if that for some
reason still fails, make sure we just return to syslog. This way, we always have
a valid log destination.

------------------------------------------------------------------------
r11705 | msalle | 2010-09-22 09:17:31 +0200 (Wed, 22 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c

- Make sure we're effective root at opening of the logfile.

------------------------------------------------------------------------
r11700 | msalle | 2010-09-20 15:47:57 +0200 (Mon, 20 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version to 0.8.0-1

------------------------------------------------------------------------
r11699 | msalle | 2010-09-20 15:42:16 +0200 (Mon, 20 Sep 2010) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

- adding new option create_target_proxy to glexec.conf.5 manpage.
- clarifying behaviour for relative paths for GLEXEC*PROXY variables.

------------------------------------------------------------------------
r11698 | msalle | 2010-09-16 18:47:11 +0200 (Thu, 16 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c

- fixing small glexec_target_unsetenv() coding bug (too much copy&paste).

------------------------------------------------------------------------
r11697 | msalle | 2010-09-16 18:44:50 +0200 (Thu, 16 Sep 2010) | 9 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- fix for bug #72646:
    new option create_target_proxy = {yes,no}, default yes
  When set to no, the target user will not have a proxy, or variable set to one.

- adding new function glexec_target_unsetenv() using new function
  cgul_unsetenv_dst()

- removing unused proxy_size variables, arguments etc.

------------------------------------------------------------------------
r11696 | msalle | 2010-09-16 13:05:05 +0200 (Thu, 16 Sep 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/main_util.c

- Moving making-envvar-path-absolute into a separate environ function
  glexec_make_var_absolute() which is called to make the GLEXEC_CLIENT_CERT and
  GLEXEC_SOURCE_PROXY vars absolute.
- Empty but set GLEXEC_SOURCE_PROXY is now handled properly.

------------------------------------------------------------------------
r11693 | msalle | 2010-09-15 10:21:35 +0200 (Wed, 15 Sep 2010) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/main.c

- Moving setting up target environment and chdir to target homedir to AFTER the
  user switch, such that the permissions match those of the target user. This is
  necessary because the target dir might not be accessible for the calling user.
  Also this synchronizes the switch-by-glexec and switch-by-lcmaps behaviour.
  Note: if the target user homedir is not accesible for the target user (or
  non-exisistent) returning to the calling cwd might fail if it is unaccessible
  for the target user. In that case, gLExec will now stay in the safe dir
  instead of unaccessible calling cwd.
- Move setting up of runtime dir and saving of calling cwd to separate function.

------------------------------------------------------------------------
r11691 | msalle | 2010-09-14 18:05:26 +0200 (Tue, 14 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Adding GLEXEC_RUNTIME_CWD to the printed defines

------------------------------------------------------------------------
r11690 | msalle | 2010-09-14 18:03:01 +0200 (Tue, 14 Sep 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_environ.h
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

- Adding additional safety measure (no user consequences): switch to a
  pre-defined directory (/) during gLExec run. The old CWD is saved and used for
  finding an input proxy, when it's specified using a relative path.
  This is done just after the initial environment cleaning.
- Also move the code for finding the target CWD forward, as we know were we are
  when we try to chdir to the target dir.

------------------------------------------------------------------------
r11687 | msalle | 2010-09-14 12:41:05 +0200 (Tue, 14 Sep 2010) | 9 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- opening log-files for LCAS & LCMAPS with same function as glexec log-file.
  this fixes several problems:
   - wrong group when new file is created
   - no check whether given file if existing is a regular file.
   - warn about unsafe permissions. We like to make it an error, but that would
     break compatibility.
- The actual function in fileutil is updated to either enforce the level of
  trust (glexec log) or only return a non-zero code (lcas/lcmaps log)

------------------------------------------------------------------------
r11683 | msalle | 2010-09-08 12:44:24 +0200 (Wed, 08 Sep 2010) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

- emphasize that the different directories have to be existing and absolute, or
  otherwise the directory-options are ignored.

------------------------------------------------------------------------
r11682 | msalle | 2010-09-07 10:49:59 +0200 (Tue, 07 Sep 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/main_util.c

- add test on libdir conf options for lcas/lcmaps: they have to be absolute and
  existing, otherwise they are just ignored (like certdir and vomsdir).
- adding brackets around potentially undefined constructions *var[]
- fix typo: when config group doesn't exist, it said user.
- removed reference to glexec.conf in warning about missing user_white_list,
  since it also shows up if there is no glexec.conf

------------------------------------------------------------------------
r11681 | msalle | 2010-09-03 14:29:28 +0200 (Fri, 03 Sep 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Further reduction of unneeded logging for bug #57133 (different text, same
problem).

------------------------------------------------------------------------
r11680 | msalle | 2010-09-03 12:20:48 +0200 (Fri, 03 Sep 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/main_util.c

Fix order of backlog function (comments and parameter names in old gLExec were
mixed up, hence the mistake): filename contains target uname, contents contains
caller uname.

------------------------------------------------------------------------
r11679 | msalle | 2010-09-02 14:14:42 +0200 (Thu, 02 Sep 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/main_util.c

- add extra exit code and error for non-removed effective GID.
- never call setgroups with 0 groups, but use pgid instead. This prevents
  potential problems on BSD based systems that use the first sgid as effective
  GID.

------------------------------------------------------------------------
r11678 | msalle | 2010-09-01 17:20:42 +0200 (Wed, 01 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c

Typo...

------------------------------------------------------------------------
r11677 | msalle | 2010-09-01 17:18:45 +0200 (Wed, 01 Sep 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h

Update of the error message when something failed during testing of the target
executable.

------------------------------------------------------------------------
r11676 | msalle | 2010-09-01 15:30:01 +0200 (Wed, 01 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/util/realpath.c

Fix missing expression.

------------------------------------------------------------------------
r11675 | msalle | 2010-09-01 15:06:25 +0200 (Wed, 01 Sep 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/util/realpath.c

fix typo

------------------------------------------------------------------------
r11674 | msalle | 2010-09-01 14:57:54 +0200 (Wed, 01 Sep 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/util/realpath.c

- fix for unreadable current working directory: open() will fail, use getcwd()
  instead. Note that open and fchdir is preferred, since it goes back to exactly
  the original, even if the path has changed in the meantime.

------------------------------------------------------------------------
r11673 | msalle | 2010-09-01 13:33:02 +0200 (Wed, 01 Sep 2010) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/util/fileutil.c

- Fixes for Darwin:
    - don't hardcode the dynamic library suffix to .so but figure it out based
      on platform.
    - first set secondary groups, only then primary groups. For some reason
      setgroups seems to revitalize the effective gid on Darwin(?!). Setting
      setgroups first, and then setgid, this doesn't harm.
    - Revert back to setgid instead of setregid. They both work on Deb-5 (bug
      was unrelated) and at least Darwin prefers setgid() if both are equal.
- fix two typos in comments for fileutil.c

------------------------------------------------------------------------
r11672 | msalle | 2010-08-31 16:30:45 +0200 (Tue, 31 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am

- Let autoconf figure out location of dlopen. Now gLExec also compiles on
  FreeBSD (-:

------------------------------------------------------------------------
r11671 | msalle | 2010-08-31 15:32:58 +0200 (Tue, 31 Aug 2010) | 15 lines
Changed paths:
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/util/fileutil.c

- surround #define's with #ifndef except for a few which should *not* be
  changed.
- split out a few exit codes concerning failed userswitch, such that error
  messages are more meaningful
- fixed a recently introduced bug concerning the secondary gids: they now
  properly clean even when no sgids are there.
- added error message/handling of too large # of sgids (either
  sysconf(_SC_NGROUPS_MAX), NGROUPS_MAX or a default of 32).
- replaced glexec_to_syslog_level() with a simple array...
- fixed few Solaris related warnings:
    - pid_t == long -> explicit cast to int
    - unused variable also enclosed with #ifdef
- removed stderr warning on non-existent homedir: might be wanted behaviour,
  also problematic in case of failure later on.

------------------------------------------------------------------------
r11670 | msalle | 2010-08-30 17:40:34 +0200 (Mon, 30 Aug 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/main_util.c

- Fix to more meaningful error: namely could not drop permission.

------------------------------------------------------------------------
r11669 | msalle | 2010-08-30 17:32:28 +0200 (Mon, 30 Aug 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

- glexec_posix_enf should explicitly check we are still (effective) root, since
  LCMAPS might have changed it, which would be a misconfiguration.
- use setregid() instead of setgid() as it seems Debian-5 doesn't properly
  change the (e?)gid in the latter case. LCMAPS already uses setregid(). For
  setuid this isn't an issue.
- trivial typo...

------------------------------------------------------------------------
r11664 | msalle | 2010-08-27 11:05:46 +0200 (Fri, 27 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

- when an illegal entry is found in config file, the config needs to be properly
  closed. Fixes a segfault and a memleak.

------------------------------------------------------------------------
r11663 | msalle | 2010-08-27 10:39:35 +0200 (Fri, 27 Aug 2010) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main_util.c

- adding possibility to change the default LOG_DAEMON syslog facility and
  updating manpage accordingly.
  Of course only applicable once the config file has been parsed, hence some
  error messages might end up in the default.

------------------------------------------------------------------------
r11662 | msalle | 2010-08-26 15:57:49 +0200 (Thu, 26 Aug 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main_util.c

- Adding new option diff_syslog_levels which makes sure different glexec
  loglevels are translated into proper syslog levels. By default it is off,
  which is the old behaviour, meaning, glexec will log everything on LOG_ERR.
  Only applicable for logging to syslog.

------------------------------------------------------------------------
r11661 | msalle | 2010-08-26 11:57:05 +0200 (Thu, 26 Aug 2010) | 10 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

- adding minimal version needed for new 'verification of VOMS attributes'
  API of LCMAPS.

- removing checks on gmalloc return value as it never returns NULL, but will
  exit instead.

- Minor cleanup of some glexec_account functions to improve readability.

- protecting gstrdup and gstrndup against NULL input.

------------------------------------------------------------------------
r11660 | msalle | 2010-08-25 17:42:46 +0200 (Wed, 25 Aug 2010) | 63 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_environ.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h
   M /trunk/glexec/src/util/fileutil.c

- Updated manpages to clarify and to match new 0.8 features:
  glexec.1:
    - removed GLEXEC_MODE section (was already obsolete).
    - new exit code 128+signal in case child exited due to a signal
    - new possibility of specifying location of LCAS & LCMAPS libs.
    - version
  glexec.conf.5:
    - All default values are mentioned
    - automatic changeover to syslog in logging-only mode is clearly stated.
      This was broken: in logging only mode it was already impossible to log to
      file (unsafe, no good settings). Now glexec automatically changes to
      syslog.
    - fixed default lcas/lcmaps loglevels
    - new entry log_file_group to specify which group should own the logfile.
    - updated the pedantic check entry: no executability check
    - new entry group_white_list which specifies the whitelist for glexec usage,
      this used to be fixed to glexec, but can now be specified. Useful for e.g.
      LDAP use. Default is still glexec.
    - new entries lcas_libdir and lcmaps_libdir which specify where to look for
      the .so files. For new LCMAPS versions and future LCAS versions, they will
      also look for their plugins in these dirs + /modules. This greatly
      simplifies relocatability in a safe way.
    - new feature lcmaps_voms_verification, when set to no LCMAPS will skip VOMS
      verification in new versions.
    - removed lcas_log_level and lcmaps_log_level entries, which were already
      ignored.

- Bumped version to 0.8.0 pre
- Introducing exit value 128+signal, in line with
    http://tldp.org/LDP/abs/html/exitcodes.html
  When the child exited due to a signal, the exit code was 0...
- Putting LCAS_MODULES_DIR in the environment, which points to LCAS_LIBDIR plus
  /modules. LCAS doesn't use this YET, but will be in the near future.
- Putting LCMAPS_MODULES_DIR in the environment, which points to LCMAPS_LIBDIR
  plus /modules. LCMAPS from version 1.4.25 will use this to look for its
  plugins.
- LCMAPS defines accidentally were printed using printf() instead of
  fprint(out,)
- When glexec loglevel is specified to too large or too small value, it's
  automatically truncated to the largest or smallest.
- Automatically changing to syslog in logging-only mode could happen too late
  (i.e. during lcas initialization) when loglevel was too small. The changeover
  is now done in time.
- Unprintable characters in logentries are changed into '?'.
- Logfile and any of its parent directories are created using a specifiable
  group, not with that of the calling user. When no group is specified, root is
  used.
- Logfile and directories are created using well-defined perms, not dependent on
  umask of calling user.
- Final cleanup of main()
- Fully canonicalized absolute path of the executable to be run is printed in
  the log entry. This greatly improves traceability of the ran executable.
- glexec -V updated to include all meaningful defines.
- replaced potentially unsafe atoi into safe strtol.
- implemented configurable whitelist group. See above.
- jobrepoid no longer includes the meaningless glexec_get_account, since this is
  the only possibility (GLEXEC_MODE long gone). LCMAPS already didn't print it
  in all entries.
- Fixed a coding problem in glexec_auth() in case LCAS failed...
- Greatly improved logging/feedback in case the userswitch has failed when
  LCMAPS was supposed to do it: main check: are we the target we were supposed
  to be.

------------------------------------------------------------------------
r11658 | msalle | 2010-08-20 16:53:19 +0200 (Fri, 20 Aug 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h
   M /trunk/glexec/src/util/realpath.c
   M /trunk/glexec/src/util/realpath.h

Updating checking of executable:
- a check for 'regular file'.
- logging of 'realpath'.
- pedantic checks are in a separate function.

------------------------------------------------------------------------
r11657 | msalle | 2010-08-20 14:57:33 +0200 (Fri, 20 Aug 2010) | 3 lines
Changed paths:
   A /trunk/glexec/src/glexec_environ.c
   A /trunk/glexec/src/glexec_environ.h

Adding missing glexec_environ.? files which handle the backing-up and
safely retrieving of the environment.

------------------------------------------------------------------------
r11656 | msalle | 2010-08-20 14:55:07 +0200 (Fri, 20 Aug 2010) | 21 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h
   A /trunk/glexec/src/util/realpath.c
   A /trunk/glexec/src/util/realpath.h

Second major cleanup: main purpose: making main() short and readable.
- updated all comments for functions
- clear separation between internal and public functions
- NO external globals.
- env variables for backup and target environment are almost completely hidden
  inside glexec_environ.c
  new glexec_get_target_env() to retrieve it.
- glexec_exit automatically cleans the env lists.
- removed more dead code (BS2000 remnant of suexec).
- main now calls a set of functions which are mostly in main_util()
- when child dies due to a signal the exit value will be 128+signal, conform
  http://tldp.org/LDP/abs/html/exitcodes.html
- when logging to file, the pid appearing in the logentry will be changed
  depending on parent/child (like in syslog). So not always that of parent.
- some renaming and moving of functions to clarify their role.
- glexec_get_dest_proxy_filename() is removed as separate fcion
- glexec_generate_unique_id() is removed as separate fcion
- proxy reading/writing function figure out locking mechanism themselves.
- removed GLEXEC_PC_T as it was no longer used.
- cleaned up back_logging function, it now uses the already present information.

------------------------------------------------------------------------
r11655 | msalle | 2010-08-13 16:12:31 +0200 (Fri, 13 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

Moving prog/dir checks to main_util separate function in main_util
Moving posix_enf by glexec also to separate function in main_util

------------------------------------------------------------------------
r11654 | msalle | 2010-08-13 15:41:08 +0200 (Fri, 13 Aug 2010) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- adding strerror(errno) to error log when execve fails.

- reimplementing checking safety of logfile, using safe_file_is_trusted_r() from
  J. Kupsch safe_open library: cgul_open_log() in util/fileutil.? replaces
  glexec_check_permissions_ownership() in glexec_util.?

- in logging only mode automatically change to syslog, since we can never get
  that to work with a file (as indeed it didn't).

- removing test for glexec_can_execute(). It would fail in any case, only makes
  code less clear.

------------------------------------------------------------------------
r11653 | msalle | 2010-08-12 15:07:17 +0200 (Thu, 12 Aug 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_exit.c
   M /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_log.c
   M /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

- moving execve error handling to glexec_exit.[ch] via glexec_execve_exit()
- heavily cleanup glexec_log.[ch]: now also safe for very long errors, and
  always logs to either log or syslog. Still todo: using safefile.

------------------------------------------------------------------------
r11652 | msalle | 2010-08-11 16:25:10 +0200 (Wed, 11 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c
   M /trunk/glexec/src/main_util.h

- move global vars into main()
- move logstring setting into glexec_auth()

------------------------------------------------------------------------
r11651 | msalle | 2010-08-11 16:02:30 +0200 (Wed, 11 Aug 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/main.c

Code cleanup...:
    - removed disfunctional userdir
    - removed check for account==uid etc. -> heavily simplifies the code
      Makes actual_* vars superfluous.
    - put homedir directly in account struct, when we already have it.
    - simplified a number of constructions.

------------------------------------------------------------------------
r11650 | msalle | 2010-08-11 13:36:11 +0200 (Wed, 11 Aug 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

Cleanup of glexec_set_env_var():
    - don't use any set value.
    - cleanup of format strings for errors.

------------------------------------------------------------------------
r11649 | msalle | 2010-08-11 13:11:15 +0200 (Wed, 11 Aug 2010) | 6 lines
Changed paths:
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/main_util.c

- Don't whitelist TZ variable
- Don't check JOB_REPOSITORY_ID, it's not user input
- check variable X509_USER_PROXY
- Use gmtime() instead of localtime() for JOB_REPOSITORY_ID, adding a Z to make
  it clear. This makes the LCAS/LCMAPS logfile clean (part was already in UTC).

------------------------------------------------------------------------
r11648 | msalle | 2010-08-11 10:32:09 +0200 (Wed, 11 Aug 2010) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/runautotools

- Removing unneeded globus dependencies from configure.ac (also AC_LCMAPS which
  had no reason to be there in the first place).

- Cleaning up (unused) runautotools.

------------------------------------------------------------------------
r11647 | msalle | 2010-08-10 17:50:50 +0200 (Tue, 10 Aug 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_account.c
   M /trunk/glexec/src/glexec_conf.c

Updated docs and removed unused settings from Makefile.am

------------------------------------------------------------------------
r11646 | msalle | 2010-08-10 17:20:47 +0200 (Tue, 10 Aug 2010) | 76 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   A /trunk/glexec/src/glexec_account.c
   A /trunk/glexec/src/glexec_account.h
   M /trunk/glexec/src/glexec_conf.c
   A /trunk/glexec/src/glexec_conf.h
   A /trunk/glexec/src/glexec_exit.c
   A /trunk/glexec/src/glexec_exit.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   A /trunk/glexec/src/glexec_log.c
   A /trunk/glexec/src/glexec_log.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   A /trunk/glexec/src/main_util.c
   A /trunk/glexec/src/main_util.h

- Massive reordering of code:
    - all caching passwd/group lookup functions moved to new file
      glexec_account.c with corresponding header
    - new glexec_conf.h for glexec_conf.c, providing the public functionality
      for the configuration file tools. The config variable has become private
      to glexec_conf.c which prevents a lot of passing arguments.
    - new files glexec_exit.[ch] containing the exit function and printing of
      the error.
    - new files glexec_log.[ch] containing the logging functionality.
    - new files main_util.[ch] containing one-time helper functions for main(),
      it's planned that main() will become short and readable and calls a number
      of helper functions.
    - new functions glexec_print_defines() and glexec_usage() for -V and -h
      options.
    - moved LCMAPS defines to glexec_lcmaps
    - moved LCAS defines to glexec_lcas
    - renamed glexec_conf_retrieve_value() into glexec_conf_value();
      renamed glexec_determine_value into glexec_conf_value_default() and moved
      to glexec_conf.[ch] since it closely resembles glexec_conf_value()
    - glexec_get_account() is renamed into glexec_auth() and is the function
      calling LCAS & LCMAPS. When this needs to be changed for a different
      framework, this would more-or-less be the only function to change.
    - setting up of VERIFY_PROXY_DISCARD_PRIVATE_KEY_ABSENCE is now done in
      glexec_set_glexec_env()
    - renamed glexec_strndup into gstrndup in line with gmalloc and gstrdup

- LCAS/LCMAPS features:
    - printing LCAS and LCMAPS defaults (for glexec -V) is done in glexec_lc*.c
      to keep things local...
    - allowing compile-time macro definitions for LC*_LIBDIR where liblc*.so are
      searched for. Normally it is taken from the glexec.conf.
    - also allowing for defining the default LCMAPS_POLICY_NAME, normally it is
      taken from the glexec.conf
    - removed unused lc*_log_level settings, as LC* didn't use them.

- removed all 'extern' global variables except env_backup and env_target (might
  be removed later).
    - introduced new getter/setter methods for logging target as substitute for
      log_to_syslog variable.
    - read/write proxy functions get the locking mechanism as a parameter.

- properly initialize glexec_config structure, which is no longer malloced, but
  a static global variable within glexec_conf.c, to prevent segfaults etc.

- adding many extra comments to clarify functions.

- new/changed defines:
    - merged GLEXEC_UNPRIVILEGED_USER and AP_GLEXEC_USER into GLEXEC_USER
    - renamed AP_GLEXEC_USER into GLEXEC_WHITELIST_GROUP
    - renamed AP_SAFE_PATH into GLEXEC_TARGET_PATH
    - renamed AP_[UG]ID_MIN into GLEXEC_[UG]ID_MIN
    - new GLEXEC_TARGET_UMASK (kind of replace AP_SUEXEC_UMASK)
    - new GLEXEC_VERSION from configure's VERSION
    - new GLEXEC_PACKAGE from configure's PACKAGE (=glexec)
    - remove GLEXEC_{YES,NO,TRUE,FALSE}: too complicated, especially since
      not-yes was equal to not-no... GLEXEC_YES is replaced for 1,
      GLEXEC_NO for 0.
    - removed GLEXEC_MAX_PROXY_SIZE (unused)
    - glexec error related defines are moved to glexec_exit.[ch]
    - glexec log related defines are moved to glexec_log.[ch]
    - glexec conf related defines are moved to glexec_conf.[ch]

- Updated printing of the defaults.

- cleaning up needed header files for many source files. Trying to find the
  minimum.

- glexec_log internally keeps track of open logfile/syslog and can close when
  needed. glexec_close_log() can thus always be called.

- fixed bug: target proxy was written using the input_lock mechanism.

- fixed bug: in logging only mode, a non-existent glexec user or group is no
  longer a fatal error (in setuid mode it still is) for reading the
  configuration file.

------------------------------------------------------------------------
r11638 | msalle | 2010-08-09 15:39:06 +0200 (Mon, 09 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/Makefile.am

Uncommenting unnecessary man1 and man5, since they are already included in
dist_man_MANS

------------------------------------------------------------------------
r11633 | msalle | 2010-08-06 11:50:31 +0200 (Fri, 06 Aug 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

Code cleanups:
- glexec_lc*.h only includes public interface
- removed dead code from main.c
- streamlined glexec_get_account calling of lcas

------------------------------------------------------------------------
r11630 | msalle | 2010-08-05 22:36:44 +0200 (Thu, 05 Aug 2010) | 23 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c

- code cleanup: In particular the glexec_get_account() function is much cleaner.
  The aim is to get *all* lcas&lcmaps dependent stuff into glexec_lc*.[ch].
  The aim is also to get a clean main().
- implementing new options:
    lcas_libdir
    lcmaps_libdir
  where to look for liblcas.so and liblcmaps*.so
  This makes it more flexible to install, since we don't need /etc/ld.so* even
  in setuid mode!
  When unset, glexec still uses the standard /etc/ld.so*
- implementing new option:
    lcmaps_voms_verification
  defaults to yes (current behaviour). Allows to disable voms attribute checking
  in newer LCMAPS libraries.
- removing already disfunctional and deprecated GLEXEC_MODE /
  LCMAPS_VERIFY_ACCOUNT_MODE.
- when unset, GLEXEC_SOURCE_PROXY defaults to GLEXEC_CLIENT_CERT, but is now not
  opened and read separately, but just strdupped (much faster).
- fixed typo concerning reading in of glexec.conf, it's done using
  GLEXEC_UNPRIVILEGED_USER not using AP_GLEXEC_USER (although defined the same).
  The AP_GLEXEC_USER is currently only used to determine if (s)he can run
  glexec -V. Probably will remove this altogether.

------------------------------------------------------------------------
r11628 | msalle | 2010-08-04 13:18:50 +0200 (Wed, 04 Aug 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c

Adding missing headers.

------------------------------------------------------------------------
r11627 | msalle | 2010-08-04 13:12:13 +0200 (Wed, 04 Aug 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h

Further cleaning of LCAS and LCMAPS code. No longer directly dependent on even
the LCAS interface.

------------------------------------------------------------------------
r11626 | msalle | 2010-08-03 17:49:16 +0200 (Tue, 03 Aug 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_lcas.c
   M /trunk/glexec/src/glexec_lcas.h
   M /trunk/glexec/src/glexec_lcmaps.c
   M /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c

Fully modularizing LCAS and LCMAPS:
- all function calls are in glexec_{lcas,lcmaps}.[ch]
- only build time dependencies on LCAS and LCMAPS are on the two header files
    lcas_types.h
    lcmaps_account.h
- when configured that LCAS should not run, it's not necessary to install it.

------------------------------------------------------------------------
r11625 | msalle | 2010-08-03 11:10:50 +0200 (Tue, 03 Aug 2010) | 6 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   A /trunk/glexec/src/glexec_lcas.c
   A /trunk/glexec/src/glexec_lcas.h
   A /trunk/glexec/src/glexec_lcmaps.c
   A /trunk/glexec/src/glexec_lcmaps.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c

First steps towards towards making LCAS and LCMAPS used in modular way:
- only use dlfcn instead of buildtime linking, this makes it more flexible to
  disable e.g. LCAS and also allows for using different LCMAPS API's.
- first setup in moving all LCAS and LCMAPS depending code towards separate
  files.

------------------------------------------------------------------------
r11622 | msalle | 2010-07-19 10:54:56 +0200 (Mon, 19 Jul 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

- Further clarified error messages about config file.

------------------------------------------------------------------------
r11621 | msalle | 2010-07-16 18:28:50 +0200 (Fri, 16 Jul 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac

Fixed type in macro name... )-:

------------------------------------------------------------------------
r11620 | msalle | 2010-07-16 18:11:39 +0200 (Fri, 16 Jul 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- Allow to 'drop' privilege to root group when needed.
- properly deal with negative 'gid's' (use int and cast at the right place).

------------------------------------------------------------------------
r11619 | msalle | 2010-07-16 16:19:23 +0200 (Fri, 16 Jul 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/util/fileutil.c

- Adding a #ifdef around 2 variable definitions to prevent 'unused variable'
  warnings.

------------------------------------------------------------------------
r11618 | msalle | 2010-07-16 16:13:31 +0200 (Fri, 16 Jul 2010) | 22 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- Rewritten trusted/confidential checks for cgul_read_config, to make it more
  consistent and solve a number of unclear situations and inconsistencies.
    * confidentiality check is now only enabled when a macro
      DEMAND_CONFIG_CONFIDENTIAL is defined. This can be enabled using a new
      --enable flag in configure.
    * Only glexec user and root are trusted for read/write. The glexec group is
      not trusted, since that would mean trusted for writing.
    * When in addition a confidentiality check is done, the file may ONLY be
      readable for the trusted users, and the groups glexec (no longer
      necessarily the primary group of the glexec user) and the effective gid,
      the latter only when different from real gid.
    * Clarified related error messages (more information on which accounts are
      used).

- Added an explanatory message about what the expected permissions are when they
  are wrong for $GLEXEC_SOURCE_PROXY and/or $GLEXEC_CLIENT_CERT.

- Fixed a few typos (GLITE_*_PROXY -> GLEXEC_*_PROXY).

- non-existing homedirectory is no longer a fatal error (this got accidentally
  broken in the 0.7 release). A warning is printed, but no chdir is performed.

------------------------------------------------------------------------
r11616 | msalle | 2010-07-01 15:49:14 +0200 (Thu, 01 Jul 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping age

------------------------------------------------------------------------
r11615 | msalle | 2010-07-01 15:45:30 +0200 (Thu, 01 Jul 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c

Adding const predicate to variable to prevent warning.

------------------------------------------------------------------------
r11614 | msalle | 2010-07-01 15:40:34 +0200 (Thu, 01 Jul 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

Making implicit casts between pid_t and int when printing explicit.

------------------------------------------------------------------------
r11613 | msalle | 2010-07-01 14:25:56 +0200 (Thu, 01 Jul 2010) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am

- -W* compiler flags (warnings) are now ONLY set when using gcc.

- Since optimization and debug flag are set automatically by autotools (-g -O2),
  we only specify a default for non-gnu: -O

------------------------------------------------------------------------
r11611 | msalle | 2010-06-30 15:15:16 +0200 (Wed, 30 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

Substitute bzero() -> memset()

------------------------------------------------------------------------
r11610 | msalle | 2010-06-30 14:55:23 +0200 (Wed, 30 Jun 2010) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/util/fileutil.c

- Fix wrong return code for read_config: missing file should NOT be a privilege
  drop error but a I/O error.
- Bumping version

------------------------------------------------------------------------
r11553 | msalle | 2010-06-22 13:32:04 +0200 (Tue, 22 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version

------------------------------------------------------------------------
r11550 | msalle | 2010-06-22 12:32:31 +0200 (Tue, 22 Jun 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

Solaris: Reordering of including header files is necessary, because
_POSIX_PTHREAD_SEMANTICS needs to be defined before certain #include's are done.

------------------------------------------------------------------------
r11549 | msalle | 2010-06-22 12:15:17 +0200 (Tue, 22 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- few Solaris specific changes: relating to flock() and getpw{nam,uid}_r

------------------------------------------------------------------------
r11547 | msalle | 2010-06-17 21:34:41 +0200 (Thu, 17 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- removing unecessary #include

------------------------------------------------------------------------
r11546 | msalle | 2010-06-17 21:32:54 +0200 (Thu, 17 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

adding test for linux platform for prctl().

------------------------------------------------------------------------
r11545 | okoeroo | 2010-06-17 21:28:43 +0200 (Thu, 17 Jun 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

Fixing OSX build

------------------------------------------------------------------------
r11538 | msalle | 2010-06-02 12:30:58 +0200 (Wed, 02 Jun 2010) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac

- adding optional --with-glexec-conf=FILE option to configure, which specifies
  the compile-time location of the glexec.conf file

------------------------------------------------------------------------
r11488 | msalle | 2010-03-12 15:20:43 +0100 (Fri, 12 Mar 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- removing extra unneeded logging... (bug #57133).

------------------------------------------------------------------------
r11486 | msalle | 2010-02-25 13:16:47 +0100 (Thu, 25 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/version.properties

- fixed final typos...
- bumped version to release version (-:

------------------------------------------------------------------------
r11485 | msalle | 2010-02-25 12:20:04 +0100 (Thu, 25 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

- few small rewordings...

------------------------------------------------------------------------
r11482 | msalle | 2010-02-24 16:44:35 +0100 (Wed, 24 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

- fixed few typos, few clarifications...

------------------------------------------------------------------------
r11479 | msalle | 2010-02-24 13:21:00 +0100 (Wed, 24 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

- removing remaining dead code.

------------------------------------------------------------------------
r11478 | msalle | 2010-02-24 13:08:55 +0100 (Wed, 24 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

- glexec.conf updated to version 0.7: extra vomsdir and certdir options.
- added missing backlog_path option.
- rewordings, clarifications etc.

------------------------------------------------------------------------
r11477 | msalle | 2010-02-24 11:31:12 +0100 (Wed, 24 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

adding an installation section

------------------------------------------------------------------------
r11476 | msalle | 2010-02-24 10:06:36 +0100 (Wed, 24 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

- few small clarifications.

------------------------------------------------------------------------
r11475 | msalle | 2010-02-23 17:36:23 +0100 (Tue, 23 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

- reflecting 0.7.0 version.

------------------------------------------------------------------------
r11474 | msalle | 2010-02-23 14:27:52 +0100 (Tue, 23 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- remove unused variable

------------------------------------------------------------------------
r11472 | msalle | 2010-02-23 13:41:43 +0100 (Tue, 23 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

bump version

------------------------------------------------------------------------
r11471 | msalle | 2010-02-23 13:40:48 +0100 (Tue, 23 Feb 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- fixing backlogging functionality:
    - using cgul mkdir with parents
    - create dir as 700 instead of 600
    - use better maximum for snprintf and CHECK IT
    - rewritten completely obfuscated mkdir/fopen loop(!)
    - add useful error logs in case of failure, including path.

------------------------------------------------------------------------
r11470 | msalle | 2010-02-23 11:11:28 +0100 (Tue, 23 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- Spell-checked source code (was about time)...

------------------------------------------------------------------------
r11468 | msalle | 2010-02-22 16:16:37 +0100 (Mon, 22 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

bump age

------------------------------------------------------------------------
r11467 | msalle | 2010-02-22 16:05:32 +0100 (Mon, 22 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- Differentiate between id mismatch for dir and prog: for prog it's a user
  error, for dir a internal error.
- also differentiate between log-only and switching mode

------------------------------------------------------------------------
r11465 | msalle | 2010-02-22 15:10:36 +0100 (Mon, 22 Feb 2010) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/main.c

- bump version (age)
- reinserted stat of target dir, now correctly: check it's owned by the user.
- removed check on glexec_uid for program and target directory: it already
  didn't work in 0.6.8-3

------------------------------------------------------------------------
r11463 | msalle | 2010-02-22 14:05:57 +0100 (Mon, 22 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

- bump version

------------------------------------------------------------------------
r11462 | msalle | 2010-02-22 13:59:49 +0100 (Mon, 22 Feb 2010) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c

- remove check on current working directory: it serves no purpose since proxies
  may be in /tmp, the command has to have a full path and the target homedir is
  not an issue.
- instead check if we can successfully go to the target home directory.
- removed no longer used glexec_check_proxy_file()
- changed default for GLEXEC_TARGET_PROXY in switching mode into
    /tmp/x509up_u%d.glexec.XXXXXX
  i.e. adding .glexec
  This on request of OSG (seems very reasonable as well).
- removed doubly printing of an error when one of the proxies is unreadable.
- removed double checking of user_white_list key in config

------------------------------------------------------------------------
r11460 | msalle | 2010-02-19 16:12:04 +0100 (Fri, 19 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

bumped version

------------------------------------------------------------------------
r11459 | msalle | 2010-02-19 16:08:30 +0100 (Fri, 19 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c

- using new default for unset GLEXEC_TARGET_PROXY after discussions with among
  others OSG: /tmp/x509up_u$uid.XXXXXX where XXXXXX is 6 random letters (see
  mkstemp() )

------------------------------------------------------------------------
r11458 | msalle | 2010-02-19 14:41:27 +0100 (Fri, 19 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

- Removing dead code

------------------------------------------------------------------------
r11457 | msalle | 2010-02-19 12:10:13 +0100 (Fri, 19 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/Doxyfile
   M /trunk/glexec/LICENSE
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/bootstrap
   M /trunk/glexec/build.xml
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/configure.properties.xml
   M /trunk/glexec/project/properties.xml
   M /trunk/glexec/runautotools
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/test/Makefile.am
   M /trunk/glexec/test/glex.c
   M /trunk/glexec/test/glex.h
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.txt
   M /trunk/glexec/test/set_lcaslcmaps.pl

- updated a debug log message for proxy writing/setting

- LICENSES, LICENSES and more LICENSES...

------------------------------------------------------------------------
r11443 | msalle | 2010-02-18 17:12:57 +0100 (Thu, 18 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

bumped version

------------------------------------------------------------------------
r11441 | msalle | 2010-02-18 15:21:06 +0100 (Thu, 18 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/util/fileutil.c

- rewritten the mkdir -p type function after a discussion about a CREAM related
  problem: on automounted systems, we should try to access before doing a
  mkdir(). Thanks to Jeff, Massimo, Francesco (Prelz) and others.

------------------------------------------------------------------------
r11440 | okoeroo | 2010-02-18 14:22:39 +0100 (Thu, 18 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Fixed the test kit. Some tiny things have changed and are now adjusted in the testing tool.

------------------------------------------------------------------------
r11439 | okoeroo | 2010-02-18 13:26:28 +0100 (Thu, 18 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

fixed setuid exec and setgid exec test.

------------------------------------------------------------------------
r11438 | okoeroo | 2010-02-18 13:13:56 +0100 (Thu, 18 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Fixed the script for the most part.

There are a lot of 'okoeroo' and special $HOME references in it which MUST be adjusted to your own test machine for it to work.

------------------------------------------------------------------------
r11436 | msalle | 2010-02-18 11:49:34 +0100 (Thu, 18 Feb 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/main.c

- fixed one memory leak.
- The only leak left in glexec itself is due to a strdupped variable being put
  into the environment using putenv. The only way of cleaning it would be by
  using unsetenv.

------------------------------------------------------------------------
r11433 | msalle | 2010-02-17 15:22:30 +0100 (Wed, 17 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

- script should now be able to work with the new set of permissions.

------------------------------------------------------------------------
r11432 | msalle | 2010-02-17 14:44:26 +0100 (Wed, 17 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- cosmetics in argument/cmdline printing

------------------------------------------------------------------------
r11431 | msalle | 2010-02-17 14:31:23 +0100 (Wed, 17 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- print arglist in both non-error cases that cmd is printed...

------------------------------------------------------------------------
r11430 | msalle | 2010-02-17 13:53:44 +0100 (Wed, 17 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h

- streamlining glexec_getpwnam() and glexec_getpwuid()

------------------------------------------------------------------------
r11428 | msalle | 2010-02-17 12:35:02 +0100 (Wed, 17 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- changed loglevel for invalid vomsdir or certdir: ERROR -> WARNING
- print argument list for to-be-run command when present.
  When this list would be > 100 chars, it's truncated and will end with ...

------------------------------------------------------------------------
r11425 | msalle | 2010-02-17 11:12:19 +0100 (Wed, 17 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/main.c

- logging only mode no longer requires setting
    user_identity_switch_by = lcmaps
- cleaned up double code.

------------------------------------------------------------------------
r11420 | msalle | 2010-02-16 16:45:10 +0100 (Tue, 16 Feb 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/main.c

Changed (yet again) behaviour of logging only mode... Now final:
- when logging only mode maps to a different user, that is just ignored.
- the correct user environment is set up in the calling account, incl.
  GLEXEC_TARGET_PROXY, X509_USER_PROXY, HOME etc.

------------------------------------------------------------------------
r11419 | msalle | 2010-02-16 15:57:14 +0100 (Tue, 16 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- when execve is successful, automatically close the logfile, otherwise, print
  still log, and only then close. This means that we also see the error state of
  the child in the logfile and not ONLY on stderr.

------------------------------------------------------------------------
r11418 | msalle | 2010-02-16 13:14:58 +0100 (Tue, 16 Feb 2010) | 13 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/main.c

- httpd -> glexec (-;
- no longer reuse uid / gid vars. Now their name is more or less informational
  of which user is being statted.
- logging-only mode which asks for a userchange now gives an error. This
  typically happened when:
  * in logging only mode
  * configuring user_identity_switch_by to lcmaps,
  * not running lcmaps_posix_enf
  This lead to a completely wrong environment and no workable directory.
  The way it checks is by checking if we are actually the target uid instead of
  checking whether we are (still) root.
- remove an unnecessary glexec_getpwuid() and glexec_getpwgid() call.

------------------------------------------------------------------------
r11414 | msalle | 2010-02-15 17:59:40 +0100 (Mon, 15 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- adding all GLEXEC_ variables to the target environment
- make sure GLEXEC_TARGET_PROXY is set, for backwards compatibility.

------------------------------------------------------------------------
r11412 | msalle | 2010-02-15 17:19:06 +0100 (Mon, 15 Feb 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- adding new function cgul_add_src_pattern() to environ to be able to add
  substring matched variables to the target process environment (not yet used).
- reworked cgul_add_src_list() to behave internally similar to the new
  cgul_add_src_pattern()

------------------------------------------------------------------------
r11407 | msalle | 2010-02-15 11:14:38 +0100 (Mon, 15 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/fileutil.c

- fixed memory bug relating to use of lstat() instead of stat() for config file.
- Went through all stat/lstat calls to see whether they are correct for the
  situation.

------------------------------------------------------------------------
r11406 | msalle | 2010-02-14 13:35:17 +0100 (Sun, 14 Feb 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

Cosmetics:
- .h / .c comments unified
- <=80 chars/line
- **list -> *list[]

------------------------------------------------------------------------
r11405 | msalle | 2010-02-14 13:01:31 +0100 (Sun, 14 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

- buff_(un)getc() reads from (signed) char, not unsigned char buffer

------------------------------------------------------------------------
r11404 | msalle | 2010-02-14 12:52:19 +0100 (Sun, 14 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/util/fileutil.c

Fixed nasty crash, due to incorrect malloc...

------------------------------------------------------------------------
r11403 | msalle | 2010-02-12 15:07:23 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- fixed forgotten initialization by calling glexec_set_switchingmode()

------------------------------------------------------------------------
r11402 | msalle | 2010-02-12 14:20:57 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- removing 2 unused vars

------------------------------------------------------------------------
r11401 | msalle | 2010-02-12 13:43:17 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- glexec_log_dest_know always true: default is syslog, so known.

------------------------------------------------------------------------
r11400 | msalle | 2010-02-12 13:11:34 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

reworked the potential buffer overflow of the glexec_log snprintf

------------------------------------------------------------------------
r11399 | msalle | 2010-02-12 12:28:47 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

fixed typo egid() -> egid

------------------------------------------------------------------------
r11398 | msalle | 2010-02-12 12:27:01 +0100 (Fri, 12 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/main.c

- small fix of missing vars.
Note that getting the real/eff uid/gid is (seems to be) done twice.

------------------------------------------------------------------------
r11397 | msalle | 2010-02-12 12:05:44 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

- key/value: when key succeeds but value fails, we no longer leak memory.

------------------------------------------------------------------------
r11396 | msalle | 2010-02-12 11:57:41 +0100 (Fri, 12 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/main.c

- splitting out the 2x rc in glexec_conf_read_config(), to prevent errors.
- check last unchecked return value of glexec_get{pwuid,grgid}() in main()

------------------------------------------------------------------------
r11395 | msalle | 2010-02-12 10:40:06 +0100 (Fri, 12 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

Now we can also free env_backup, since we always strdup values, before doing a
putenv, so there is nothing leaking to the actual environment.

------------------------------------------------------------------------
r11394 | msalle | 2010-02-12 10:31:36 +0100 (Fri, 12 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c

- changing working of the two putenv functions, such that the src environment
  can be freed.

------------------------------------------------------------------------
r11393 | msalle | 2010-02-12 10:14:06 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- properly freeing memory incl that of target_dir

------------------------------------------------------------------------
r11392 | msalle | 2010-02-12 09:56:58 +0100 (Fri, 12 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- testing purposes printf accidentally entered in CVS ...

------------------------------------------------------------------------
r11391 | msalle | 2010-02-11 18:10:59 +0100 (Thu, 11 Feb 2010) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- fixed typos
- some hardcoded sizes -> in #defines
- dangerous usage of snprintf return value fixed
- check return value of getenv for JOB_REPOSITORY_ID
- removed possible div-by-0
- removed double strlen() call

------------------------------------------------------------------------
r11390 | msalle | 2010-02-11 17:04:53 +0100 (Thu, 11 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/environ.c

- should not free the backed up environment, part of it is put in the actual
  environment with putenv, which doesn't do a strdup!

------------------------------------------------------------------------
r11389 | msalle | 2010-02-11 15:13:14 +0100 (Thu, 11 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- default logging changed to syslog

------------------------------------------------------------------------
r11388 | msalle | 2010-02-11 14:59:12 +0100 (Thu, 11 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- implementing certdir config option, which sets the internal X509_CERT_DIR
  environment variable for use by LCAS/LCMAPS

------------------------------------------------------------------------
r11387 | msalle | 2010-02-11 14:47:33 +0100 (Thu, 11 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- Fixed few mem-leaks with the environment
- fixed one return value problem.

------------------------------------------------------------------------
r11384 | msalle | 2010-02-11 13:06:42 +0100 (Thu, 11 Feb 2010) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- clean up config and proxy memory
- print username/uid when not-whitelisted
- useful error when user tries -V
- reinserted locking error message
- remove error codes no longer in use
- now lstat before and fstat after reading config: everything except atime
  should be the same.

------------------------------------------------------------------------
r11380 | msalle | 2010-02-11 00:22:33 +0100 (Thu, 11 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- adding correct internal exit values for env cleaning failure and/or setting of
  the target environment.

------------------------------------------------------------------------
r11379 | msalle | 2010-02-11 00:12:16 +0100 (Thu, 11 Feb 2010) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- removing dead code
- adding vomsdir configuration option:
  * it has to denote a full path to a directory or will be ignored
  * if it is valid its contents is put in the internal (gLExec only)
    environment.

------------------------------------------------------------------------
r11378 | msalle | 2010-02-10 23:40:31 +0100 (Wed, 10 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- Config file is now read in using the new fileutil functions, which in turn use
  Jim Kupsch' library to determine the level of trust of the configuration file.

------------------------------------------------------------------------
r11377 | msalle | 2010-02-10 22:29:06 +0100 (Wed, 10 Feb 2010) | 19 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- Changed over proxy writing to the new fileutil routines.

- The proxy variables behaviour is now new style, which is more consistent and
  always well defined:
  When no GLEXEC_SOURCE_PROXY is set, it defaults to GLEXEC_CLIENT_CERT (which
  should contain the identity of the target user).
  X509_USER_PROXY for the target user will ALWAYS be set by glexec:
  When GLEXEC_TARGET_PROXY is set, X509_USER_PROXY for the target will point at
  it.
  When no GLEXEC_TARGET_PROXY is set, we have two cases:
  * in setuid mode, it will be created as a unique filename using mkstemp(),
    otherwise, and X509_USER_PROXY for the target will be point at it.
  * in logging only mode, X509_USER_PROXY for the target will point to
  * GLEXEC_SOURCE_PROXY.

- fixed probably a buffer overflow for the dest_proxy_name construction.

- removed old code

------------------------------------------------------------------------
r11376 | msalle | 2010-02-10 16:42:05 +0100 (Wed, 10 Feb 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/util/fileutil.c
   M /trunk/glexec/src/util/fileutil.h

- replacing proxy reading with fileutil functions
- adding functions for getting/setting the switching mode (setuid or logging
  only)

------------------------------------------------------------------------
r11374 | msalle | 2010-02-09 23:09:45 +0100 (Tue, 09 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/fileutil.c

- removed all slightly non-trivial type incompatibilities from fileutil.c
- added the proper cgul_ prefixes in glexec_util and main

------------------------------------------------------------------------
r11371 | msalle | 2010-02-09 17:24:08 +0100 (Tue, 09 Feb 2010) | 8 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   A /trunk/glexec/src/safefile-1.0
   A /trunk/glexec/src/safefile-1.0/safe_fopen.c
   A /trunk/glexec/src/safefile-1.0/safe_fopen.h
   A /trunk/glexec/src/safefile-1.0/safe_id_range_list.c
   A /trunk/glexec/src/safefile-1.0/safe_id_range_list.h
   A /trunk/glexec/src/safefile-1.0/safe_is_path_trusted.c
   A /trunk/glexec/src/safefile-1.0/safe_is_path_trusted.h
   A /trunk/glexec/src/safefile-1.0/safe_open.c
   A /trunk/glexec/src/safefile-1.0/safe_open.h
   A /trunk/glexec/src/safefile-1.0/safe_open_test.c
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h
   A /trunk/glexec/src/util/fileutil.c
   A /trunk/glexec/src/util/fileutil.h

- first commit of fileutil functions, for safely reading/writing proxies and
  safely reading config files.
- insert of safefile-1.0 library (as src file bundle) of J. Kupsch,
  http://www.cs.wisc.edu/~kupsch/safefile
  Only the src/header files are needed by gLExec, so only those have been
  inserted.
- adding cgul_ prefix to environ functions in util/

------------------------------------------------------------------------
r11357 | msalle | 2010-02-03 22:30:33 +0100 (Wed, 03 Feb 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c

- Use properly size_t when needed.
- some code clarifications.

------------------------------------------------------------------------
r11356 | msalle | 2010-02-03 15:23:12 +0100 (Wed, 03 Feb 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/main.c

- Also set USER and LOGNAME variables for target process.

------------------------------------------------------------------------
r11355 | msalle | 2010-02-02 20:15:26 +0100 (Tue, 02 Feb 2010) | 14 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

environ.? changes:

- introducing env_t (==char **, except for initialization):
  now functions use &dst for creation/updating of environments instead of return
  value of functions. This makes it easier to have a few environment changing
  function in a row etc. Could also do &dst for a char ** but triple stars don't
  promote readability.

- make sure when input whitelist and/or src list is null everything works as
  expected: new environments should be created and initialized to an empty list,
  old environment should be left unchanged.

- make sure environ.h is effectively included once using a #ifndef

------------------------------------------------------------------------
r11354 | msalle | 2010-02-02 03:33:36 +0100 (Tue, 02 Feb 2010) | 13 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- Start using util/environ.?, not yet finished.
  two separate environments:
    1) one for gLExec, using an internal whitelist and pattern,
    2) and one for the target process, using a glexec.conf whitelist plus
       some settings from gLExec itself.
  This prevents any internal gLExec settings from leaking into the target
  environment and also paves the way for implementing the glexec_wrapper scripts
  as a configurable gLExec feature, since we can keep the internal gLExec
  environment also clean from preserved user variables.

- still to be done: which variables should be automatically whitelisted, this
  includes the glexec wrapper variables, but also ... ?

------------------------------------------------------------------------
r11353 | msalle | 2010-02-01 23:19:03 +0100 (Mon, 01 Feb 2010) | 26 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/glexec_util.h
   M /trunk/glexec/src/main.c
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- LICENSES in all source files.

- de-c++-ified code:
    - use /* */ instead of //
    - declare all variables in beginning of code and certainly not WITHIN a
      block (such as an if or while, urgh).

- removed some dead code about the glexec_verify_accounts mode (which was
  already deprecated in the previous version)

- made the prototypes in glexec.h and at the top of glexec_util.h identical to
  their actual definition (not yet finished for other files).

- reordered glexec_conf.c so that even without prototypes, we don't get serious
  compiler warnings (functions are defined in such an order that we only refer
  backwards).

- Make sure we don't try to print NULL as returned by getenv() in printing the
  error messages. Printing a NULL pointer leads to segfaults on some platforms
  (and isn't very clean in any case).

- renamed glexec_conf_retreive_value() -> glexec_conf_retrieve_value()

- clarified log message about log file closing within child (it appeared to have
  been closed before forking, which is actually not the case).

------------------------------------------------------------------------
r11349 | msalle | 2010-01-31 12:11:29 +0100 (Sun, 31 Jan 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

Updated license text: Copyright -> Authors

------------------------------------------------------------------------
r11348 | msalle | 2010-01-29 14:07:28 +0100 (Fri, 29 Jan 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- multi-file global variables should (of course) not be static.
- fixed typo in glexec_util.c
NOTE: All globals variables will be phased out in the future, this is an
intermediate solution.

------------------------------------------------------------------------
r11347 | msalle | 2010-01-29 13:56:20 +0100 (Fri, 29 Jan 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c
   M /trunk/glexec/src/main.c

- removed some dead code

- removed accidentally initialized external variables (copy & paste error)

------------------------------------------------------------------------
r11346 | msalle | 2010-01-29 11:35:29 +0100 (Fri, 29 Jan 2010) | 4 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- added License info
- no more pointer arithmetics
- added getenv function for 'external' environment

------------------------------------------------------------------------
r11345 | msalle | 2010-01-28 22:01:20 +0100 (Thu, 28 Jan 2010) | 5 lines
Changed paths:
   M /trunk/glexec/src/util/environ.c
   M /trunk/glexec/src/util/environ.h

- Fixed unitialized variables. Using a simple test program and valgrind there
  seem (you never know) to be NO memleaks or any other problems.

- Added comments on strdup/putenv etc. usage.

------------------------------------------------------------------------
r11343 | msalle | 2010-01-27 22:24:14 +0100 (Wed, 27 Jan 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.h

- Fixed type (too tired): finally removed static from function prototype
- added two missing header files, for sys/stat.h and lcmaps_account.h

------------------------------------------------------------------------
r11342 | msalle | 2010-01-27 22:06:02 +0100 (Wed, 27 Jan 2010) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.h

- glexec_clean_env() declared but not static... in glexec_util.h

------------------------------------------------------------------------
r11341 | msalle | 2010-01-27 21:59:23 +0100 (Wed, 27 Jan 2010) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec_util.c

- removed static from glexec_clean_env(), which won't work in a two-file setup.
  Not clear why it was declared static in the first place.

------------------------------------------------------------------------
r11340 | msalle | 2010-01-27 21:55:22 +0100 (Wed, 27 Jan 2010) | 3 lines
Changed paths:
   D /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_util.h

- removed declaration of static function glexec_clean_env() from glexec_util.h
- removed no-defunct glexec.c

------------------------------------------------------------------------
r11339 | msalle | 2010-01-27 21:44:46 +0100 (Wed, 27 Jan 2010) | 11 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h
   A /trunk/glexec/src/glexec_util.c
   A /trunk/glexec/src/glexec_util.h
   A /trunk/glexec/src/main.c

First step towards readability:
- Split up glexec.c into main.c and glexec_util.c: main.c only contains main()
  all helper functions are in glexec_util.c
- Moved defines into glexec.h and/or glexec_util.h
- Globals )-: are defined in:
    - glexec_util.c when only used there
    - main.c when used either only in main.c or in main.c *and* in
      glexec_util.c. In the latter case, they are declared external in
      glexec_util.c
- function prototypes are moved to glexec.h (hopefully complete)

------------------------------------------------------------------------
r11337 | msalle | 2010-01-26 17:43:30 +0100 (Tue, 26 Jan 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am

- don't treat src/util/ as a separate src/ directory for simplicity

------------------------------------------------------------------------
r11336 | msalle | 2010-01-26 17:24:39 +0100 (Tue, 26 Jan 2010) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c
   A /trunk/glexec/src/util
   A /trunk/glexec/src/util/environ.c
   A /trunk/glexec/src/util/environ.h

- Preparing for improved environment handling using util/environ.?

------------------------------------------------------------------------
r11310 | okoeroo | 2009-11-23 14:54:45 +0100 (Mon, 23 Nov 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removd references to the depricated run mode of gLExec called lcmaps_verify_account.

------------------------------------------------------------------------
r11308 | okoeroo | 2009-11-20 14:30:02 +0100 (Fri, 20 Nov 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/Makefile.am

Bumped version to 0.6.10-1 and removed the link objective to include the lcmaps_verify_account_from_pem interface.

------------------------------------------------------------------------
r11307 | okoeroo | 2009-11-20 14:26:55 +0100 (Fri, 20 Nov 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

The GLEXEC_MODE environment function has now finally turned mute. The only run-mode still available is the lcmaps_get_account run-mode.
The lcmaps_verify_account run-mode has now been completely depricated. We've already removed the verify account support from the code and introduced a warning message about this move in the first quarter of 2009.

We haven't received any message about the deprication of this run-mode, it isn't used in gLite and OSG. To our (limited) knowledge it is also not used outside of gLite and OSG.

------------------------------------------------------------------------
r11306 | okoeroo | 2009-11-19 17:43:07 +0100 (Thu, 19 Nov 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Changed somethings in the code style for readability.
Applied extra checks to the code for robustness (react better on odd return values).

------------------------------------------------------------------------
r11305 | okoeroo | 2009-11-19 12:56:31 +0100 (Thu, 19 Nov 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

Added a wrapper function around strdup. The gstrdup function will use gmalloc to do it's memory allocation.
The strdup calls are replaced by gstrdup, like the malloc to gmalloc.

The errno state in the gmalloc function is restored to its state as set by malloc itself (before the glexec_log() function).

------------------------------------------------------------------------
r11304 | okoeroo | 2009-11-18 08:56:28 +0100 (Wed, 18 Nov 2009) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumped version to 0.6.9-1
For now, this is a beta version intended for internal testing, though we try to keep it all together for some of the HEAD-hunters.

In this version we will apply fixes to the code that are needed to address the secure coding flaws exposed in the assessment created by Gerard Frankowski of the University of Poznan.

------------------------------------------------------------------------
r11303 | okoeroo | 2009-11-18 08:50:04 +0100 (Wed, 18 Nov 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

Substituted malloc with gmalloc (a gLExec specific wrapper around malloc) which writes to the log file and bails out when a malloc failed.
Thanks to FrancescoG I didn't forget to implement code to prevent the loss of the errno value before it was used.

------------------------------------------------------------------------
r11302 | okoeroo | 2009-11-17 17:19:57 +0100 (Tue, 17 Nov 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added a wrapper around malloc called gmalloc to catch and handle the malloc failures easily.

------------------------------------------------------------------------
r11224 | okoeroo | 2009-06-29 20:28:51 +0200 (Mon, 29 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version, but not releasing yet.

------------------------------------------------------------------------
r11223 | okoeroo | 2009-06-29 20:15:44 +0200 (Mon, 29 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Even better, just added the defined package name to the used variable. Saving (sizeof(char) * PATH_MAX - strlen("glexec")) amount of bytes.

------------------------------------------------------------------------
r11222 | okoeroo | 2009-06-29 20:03:45 +0200 (Mon, 29 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/bootstrap

Adding simple Mac build support.

------------------------------------------------------------------------
r11221 | okoeroo | 2009-06-29 20:00:25 +0200 (Mon, 29 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec.c

argv[0] is unsafe, now relying on the PACKAGE constant from autoconf

------------------------------------------------------------------------
r11209 | okoeroo | 2009-06-26 15:53:30 +0200 (Fri, 26 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version to reflect the recent changes.

------------------------------------------------------------------------
r11207 | okoeroo | 2009-06-26 13:16:16 +0200 (Fri, 26 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added wide char support on all malloc calls.

------------------------------------------------------------------------
r11174 | msalle | 2009-06-11 12:37:17 +0200 (Thu, 11 Jun 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Updated version

------------------------------------------------------------------------
r11173 | msalle | 2009-06-11 11:53:07 +0200 (Thu, 11 Jun 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed flock() locking:
- now blocking
- shared for reading, exclusive for writing

------------------------------------------------------------------------
r11167 | msalle | 2009-05-20 11:15:00 +0200 (Wed, 20 May 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed:
- error code 202 upon glexec -v or glexec -V
- output of glexec -V should go to stdout, not to stderr

------------------------------------------------------------------------
r11159 | okoeroo | 2009-05-11 14:55:14 +0200 (Mon, 11 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh
   A /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.txt

Added explination of the compound test script for gLExec.

------------------------------------------------------------------------
r11158 | okoeroo | 2009-05-06 17:07:08 +0200 (Wed, 06 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Cosmetics... pure cosmetics.

------------------------------------------------------------------------
r11157 | okoeroo | 2009-05-06 15:29:36 +0200 (Wed, 06 May 2009) | 3 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Removing the GLEXEC_TARGET_PROXY quietly
The removal is done between each deployment scenario per test, so that different mapping sources (local, SCAS or PEPd) will not wish to write it to a target proxy location that is already written to with different userid and groupid file ownership. A target_proxy is not to be overwritten when it is owned by another user.

------------------------------------------------------------------------
r11156 | msalle | 2009-05-06 14:25:29 +0200 (Wed, 06 May 2009) | 2 lines
Changed paths:
   D /trunk/glexec/src/glexec_fork.c
   D /trunk/glexec/src/glexec_fork.h

Pruned directory of old unused files...

------------------------------------------------------------------------
r11155 | okoeroo | 2009-05-06 14:13:43 +0200 (Wed, 06 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Fixed the localaccount deployment scenarios. All (12) deployment scenarios are functional for each test

------------------------------------------------------------------------
r11154 | msalle | 2009-05-04 15:41:18 +0200 (Mon, 04 May 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

- removed unwanted `symlinked!' error message
- error message to stdout -> stderr
    printf( -> fprintf(stderr,

------------------------------------------------------------------------
r11153 | okoeroo | 2009-05-04 13:25:02 +0200 (Mon, 04 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added more deployment scenarios, implementing 6 more (per test to handle).

------------------------------------------------------------------------
r11152 | okoeroo | 2009-05-03 16:20:50 +0200 (Sun, 03 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Enhanced readability. Also found that test #13 seems to hint that glexec will perfectly execute world writeable executables and scripts. This is a bug. Only when pedentic file checks are enabled (test #14) will this prevent gLExec from execution. This is something that must be fixed. World-accessible, fine, not world writeable.

------------------------------------------------------------------------
r11151 | okoeroo | 2009-05-03 15:35:37 +0200 (Sun, 03 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Propagation on exected outcome is improved in the script. Will halt the test script when the return value of gLExec isn't equal to the expected return value (or when the $CONTINUEONERROR is set to 'yes' it will continue).

------------------------------------------------------------------------
r11150 | okoeroo | 2009-05-03 15:11:01 +0200 (Sun, 03 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Expected result value is shown better. Need to test if the result of the test actually resulted into the expected result and react on that.

------------------------------------------------------------------------
r11149 | okoeroo | 2009-05-03 15:00:24 +0200 (Sun, 03 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Implemented 9 tests for all lock file mechansim combinations. These are tested in all deployment scenarios. To test this, your about 98% of the time busy with the reconfiguring and checking the configuration.

------------------------------------------------------------------------
r11148 | okoeroo | 2009-05-03 14:45:10 +0200 (Sun, 03 May 2009) | 5 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added the option linger=no to the existing deployment scenarios, doubling the deployment scenarios to test from 6 to 12 scenarios.
The linger=no setting is used in OSG in combination with the Condor glide-ins.

To be honest, I've never fully tested this mode as much as we should have. But I'm happy that it all checks out nicely and that we can continue to garantuee the modus-operandi and keep an eye out for changes.

------------------------------------------------------------------------
r11147 | okoeroo | 2009-05-03 14:30:30 +0200 (Sun, 03 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added more tests.

------------------------------------------------------------------------
r11146 | okoeroo | 2009-05-03 14:09:39 +0200 (Sun, 03 May 2009) | 4 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Cosmetic changes mostly. Prepared for the 3rd dimensional tests. That would added various proxies to the testing sequences. Mimicing pilot job scenarios and even more interesting situation.

Note to self, its working perfectly for me, but... perhaps I should add some more pre-setup and pre-testing tests to the test scripts to figure out if the machine was setup and configured nicely. :-)

------------------------------------------------------------------------
r11145 | okoeroo | 2009-05-03 13:25:11 +0200 (Sun, 03 May 2009) | 6 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Re-implemented the first 4 tests to use the compound tests. This means that each 4 tests are each tested with all six (temporarily currently just three) deployment scenarios.

And I've found a bug in the way gLExec overactively reports that the executable is symlinked, when it is configured to prohibit symlinked execution. This is something that nobody will see soon, so we'll not let this interfear with the current certification process. This option prohibit_exec_via_symlink = {yes,no} will always be deployed with value 'no'. Therefore will not see this soon on the EGEE infrastructure. Perhaps the CREAM CE deployment thinks differently about this, but then it's still a cosmetic thing.

I'll file a bug for this.

------------------------------------------------------------------------
r11144 | okoeroo | 2009-05-03 12:42:31 +0200 (Sun, 03 May 2009) | 5 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Implemented first compund test that can test one use case in all six (temporarily just three). Many to follow, like the tests I've prepared yesterday.
Also attended to the formatting on the shell for readability.

Tip: be sure to use a glexec execution test (like /usr/bin/id -a) that will utilize only one line as output on the stdout. This will make the output of the compound test look nicer and more readable.

------------------------------------------------------------------------
r11143 | okoeroo | 2009-05-02 22:28:31 +0200 (Sat, 02 May 2009) | 4 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Adding the six (general) deployment scenarios for gLExec. Test 4 through 6 are not functional, because those shouldn't use SCAS but a local mapping. The test/devel maching is not prepared with a gridmapdir yet (will do it soon).

This makes the setup of the 6 test scenarios very easy to do for each individual test.

------------------------------------------------------------------------
r11142 | okoeroo | 2009-05-02 10:03:22 +0200 (Sat, 02 May 2009) | 8 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added more tests.
Executing on symlink (succesfully) and not executing on symlink (because the configuration changed)

Re-written minor details and use the -c option with the tested shell to prevent myself from being stuck in that shell as the mapped user.


ps: I think that I would have needed as many time (or more even) to just select an existing testing framework, instead of making my own.

------------------------------------------------------------------------
r11141 | okoeroo | 2009-05-02 02:07:59 +0200 (Sat, 02 May 2009) | 8 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Added test #3, which is to re-configure glexec to function without setuid-root bit (in logging-only mode) and execute /usr/bin/id -a from there.

Also fixed an issue with the current working directory in the script and possibly found a tiny beautification bug. The current working directory was still /root/
Strangly enough the current working directory didn't trigger a failure when using the setuid enable glexec, but it complained when it ran in unprivileged mode.
This must be investigated. I changed the CWD to $HOME of the $TEST_ACCOUNT to bypass this in the unprivileged mode. But I think I have a bug here.

I've also added an expected return code of each glexec test execution (like 126, 201, 202, 203, 204 or 0).

------------------------------------------------------------------------
r11140 | okoeroo | 2009-05-02 01:51:28 +0200 (Sat, 02 May 2009) | 4 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Removed 'okoeroo' from the scripts and made it easily switchable.

Just two test are performed right now. I hope to implement the O(100) with ease.

------------------------------------------------------------------------
r11139 | okoeroo | 2009-05-02 01:44:06 +0200 (Sat, 02 May 2009) | 10 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Prepared two working tests of gLExec that will:
- setup the configuration for LCAS, LCMAPS and glexec
- prepare a test, with possible additional setting for the glexec, lcas and lcmaps configurations
- switch to the user account of choice
- run the test as the user
- report the glexec exit code all the way back into the main script


Privilege seperation is my game ;-)

------------------------------------------------------------------------
r11138 | okoeroo | 2009-05-01 23:23:16 +0200 (Fri, 01 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

The first test (not a proper user switch with su or sudo yet implement, will be done soon).

------------------------------------------------------------------------
r11137 | okoeroo | 2009-05-01 23:01:57 +0200 (Fri, 01 May 2009) | 8 lines
Changed paths:
   A /trunk/glexec/test/glexec-lcas-lcmaps-compound-test.sh

Adding the first start of a compound gLExec, LCAS and LCMAPS configuration and re-configuring testing script.

Not all possible configuration are easily tests and reconstructed. This script should help creating the required configuration to test all (thinkable) configuration.
The script is setup in such a way to be easily extended and reconstruct new configuration files.

It could FUBAR your existing configuration, but then again, rerunning YAIM should be easy :-)
.

------------------------------------------------------------------------
r11136 | msalle | 2009-05-01 15:22:32 +0200 (Fri, 01 May 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed typo in error message.

------------------------------------------------------------------------
r11134 | msalle | 2009-04-30 16:37:32 +0200 (Thu, 30 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

version 0.6.8-1 -> 0.6.8-2

------------------------------------------------------------------------
r11133 | msalle | 2009-04-30 16:36:08 +0200 (Thu, 30 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added 'Warning: ' to a warning message.

------------------------------------------------------------------------
r11132 | okoeroo | 2009-04-30 14:55:01 +0200 (Thu, 30 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

Added a man page link to fcntl

------------------------------------------------------------------------
r11131 | okoeroo | 2009-04-30 14:52:29 +0200 (Thu, 30 Apr 2009) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Updated the order in which the glexec.conf options are written in the man page for more clarity.
The glexec option preceed the lcas and lcmaps options.

------------------------------------------------------------------------
r11130 | msalle | 2009-04-30 14:22:27 +0200 (Thu, 30 Apr 2009) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

- Rewrote code for parsing of old/new style destination locking entries in
  config file. Now new style is used if present, otherwise old style if present,
  or default if neither is present. Warnings are given for old present and for
  both present.

- added nullification of most pointers after free.

------------------------------------------------------------------------
r11128 | msalle | 2009-04-29 16:59:27 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Version updated: 0.6.7-1 -> 0.6.8-1

------------------------------------------------------------------------
r11127 | msalle | 2009-04-29 16:54:05 +0200 (Wed, 29 Apr 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added error 126 to -h option.
\t -> 4 spaces in cmdline help.

------------------------------------------------------------------------
r11126 | msalle | 2009-04-29 16:43:07 +0200 (Wed, 29 Apr 2009) | 8 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

- updated and added version info

- updated lock mechanisms for in-/output proxies

- tried to clarify PROXY variables

- added myself (-;

------------------------------------------------------------------------
r11125 | msalle | 2009-04-29 16:03:20 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Yet another typo

------------------------------------------------------------------------
r11124 | msalle | 2009-04-29 16:02:44 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed typo.

------------------------------------------------------------------------
r11123 | msalle | 2009-04-29 15:56:46 +0200 (Wed, 29 Apr 2009) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

Added remark on deprecated locking syntax in config file

Fixed one free -> freeed pointer to pointer instead of pointer itself.

Added note on fact that default locking mechanisms are specified in main() and
not at definition of global variable time.

------------------------------------------------------------------------
r11122 | msalle | 2009-04-29 14:49:55 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added meaningful error upon using illegal locking mechanism.

------------------------------------------------------------------------
r11121 | msalle | 2009-04-29 13:52:13 +0200 (Wed, 29 Apr 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed lock_st -> &lock_st in fcntl calls and updated error message on stderr
when permissions on path are wrong.

------------------------------------------------------------------------
r11120 | msalle | 2009-04-29 12:55:13 +0200 (Wed, 29 Apr 2009) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

- Fixed typo -> close & fclose return 0 on success -> should have
    if(close ...etc
  for finding error, NOT if (!close...
- Fixed error for checking full path permissions on not-yet-existing glexec log
  file: it didn't check anything in that case...
    glexec_check_permissions_ownership()
- also moved local variables there to start of function.

------------------------------------------------------------------------
r11119 | msalle | 2009-04-29 12:06:58 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

fixed typo

------------------------------------------------------------------------
r11118 | msalle | 2009-04-29 12:05:23 +0200 (Wed, 29 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removed return value for void returning function...

------------------------------------------------------------------------
r11117 | msalle | 2009-04-29 11:53:33 +0200 (Wed, 29 Apr 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Updated locking, or better unlocking. Also made struct flock local to lock and
unlock functions.
Fixed typo with new GLEXEC_LOG_FILE_CLOSE_FAIL.

------------------------------------------------------------------------
r11116 | msalle | 2009-04-29 11:41:07 +0200 (Wed, 29 Apr 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Checks on all close() and fclose() statements, since write errors often are only
checked at closing time.

------------------------------------------------------------------------
r11115 | msalle | 2009-04-29 09:35:12 +0200 (Wed, 29 Apr 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed fcntl code according to documentation (-:
F_SETFL should have F_SETLK(W)
- using (shared) readlock for input proxies
- using (exclusive) writelock for target proxy
- made locking waiting

------------------------------------------------------------------------
r11114 | msalle | 2009-04-28 22:04:16 +0200 (Tue, 28 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added debug info to lock/unlock functions, to find bug.

------------------------------------------------------------------------
r11113 | msalle | 2009-04-28 21:35:57 +0200 (Tue, 28 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed typo

------------------------------------------------------------------------
r11112 | msalle | 2009-04-28 21:29:33 +0200 (Tue, 28 Apr 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed problem with read/write locking fcntl.
Reused same function for write proxy
Default for input now fcntl.

------------------------------------------------------------------------
r11111 | msalle | 2009-04-28 20:49:49 +0200 (Tue, 28 Apr 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Input proxy locking:
- introduced general lock and unlock functions, also usable for target (future
  step)
- introduced new error code GLEXEC_LOCK_FAILURE
- note: unlock is not error, just warning

------------------------------------------------------------------------
r11110 | msalle | 2009-04-28 17:42:15 +0200 (Tue, 28 Apr 2009) | 9 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Preparational work for input proxy locking, now it only needs to be implemented
in glexec_read_source_proxy. Now there is a new entry for the glexec.conf,
called glexec:input_lock_mechanism. The original glexec:lock_mechanism can now
be called glexec:target_lock_mechanism, which should become the standard.
The global variables involved are
    static GLEXEC_LOCK_MECH_T target_lock_mech = GLEXEC_LOCK_FLOCK
    static GLEXEC_LOCK_MECH_T input_lock_mech = GLEXEC_LOCK_FLOCK
default should probably still be changed.

------------------------------------------------------------------------
r11109 | msalle | 2009-04-28 16:53:51 +0200 (Tue, 28 Apr 2009) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

- Added missing const in definition of glexec_conf_parse_file_t This means the
  contents the pointer is pointing to is constant, not the pointer itself.
  Solves remark:
    glexec_conf.c:135: warning: assignment discards qualifiers from pointer
    target type
  since the argument config_file in glexec_conf_read_config is declared as
  const char *
- Also fixed type in glexec_conf_close which hopefully solves a segfault in that
  function...
- reset key and value to NULL at the end of the config file loop.
- fixed call to glexec_conf_close() in glexec.c

------------------------------------------------------------------------
r11108 | msalle | 2009-04-28 16:04:27 +0200 (Tue, 28 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

Fixed 2 more typo's

------------------------------------------------------------------------
r11107 | msalle | 2009-04-28 15:37:04 +0200 (Tue, 28 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_conf.c

Fixed few typo's

------------------------------------------------------------------------
r11106 | msalle | 2009-04-28 15:10:29 +0200 (Tue, 28 Apr 2009) | 2 lines
Changed paths:
   D /trunk/glexec/src/glexec_config.h.in

Removed also glexec_config.h.in

------------------------------------------------------------------------
r11105 | msalle | 2009-04-28 15:09:09 +0200 (Tue, 28 Apr 2009) | 13 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec_conf.c
   D /trunk/glexec/src/glexec_conf.h

Major cleanup:
- checking of errors in many places, in particular when returning from
  glexec_conf_get_{key,value}()

- checking of failure of all {m,c,}alloc() calls

- argument type for glexec_conf_close: *this_config -> **this_config. Otherwise
  setting to NULL is not permanent.

- function glexec_conf_check_and_replace() now returns either
  GLEXEC_CONF_DOUBLE or GLEXEC_CONF_SUCCESS, calling function is updated
  accordingly.

------------------------------------------------------------------------
r11104 | msalle | 2009-04-28 08:56:04 +0200 (Tue, 28 Apr 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed problem with the mode of the target proxy, when it didn't yet exist, it's
stat info obviously was wrong. Introduced new (local (-: ) variable for the
mode.

------------------------------------------------------------------------
r11103 | msalle | 2009-04-27 21:26:33 +0200 (Mon, 27 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

fixed typo...

------------------------------------------------------------------------
r11102 | msalle | 2009-04-27 21:23:13 +0200 (Mon, 27 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

adding debug info to bugfix permission update on target proxy.

------------------------------------------------------------------------
r11101 | msalle | 2009-04-27 20:31:45 +0200 (Mon, 27 Apr 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Updated comparison against return code of glexec_lcas_lcmaps_setup(). It doesn't
return GLEXEC_SUCCESS, so a comparison should be against 0. Also previous
expression
    if (!(rc=fcie()) != GLEXEC_SUCCESS)
makes no sense for non-zero GLEXEC_SUCCESS...

------------------------------------------------------------------------
r11100 | msalle | 2009-04-27 16:33:45 +0200 (Mon, 27 Apr 2009) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Bug fixes:
- bug 48095: missed () around rc=function() != GLEXEC_SUCCESS
- use of stat() instead of lstat() for proxies -> no check on symlinks
- enforce permissions on destination proxy:
  mode &= 00770 -> clears special and other bits.
  Note: don't unlink the proxy -> would lead to race condition.

------------------------------------------------------------------------
r11099 | msalle | 2009-04-26 13:23:57 +0200 (Sun, 26 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed some typos...

------------------------------------------------------------------------
r11097 | msalle | 2009-04-24 18:13:04 +0200 (Fri, 24 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

version 0.6.6-4 -> 0.6.7-1

------------------------------------------------------------------------
r11096 | msalle | 2009-04-24 17:32:12 +0200 (Fri, 24 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed mixed function declaration.

------------------------------------------------------------------------
r11095 | msalle | 2009-04-24 17:18:00 +0200 (Fri, 24 Apr 2009) | 22 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Bugfix for bug 49493:
glexec_read_source_proxy was written to read GLEXEC_SOURCE_PROXY but being
reused for reading GLEXEC_CLIENT_CERT. This resulted in the global variabele,
which was meant to contain the size of the GLEXEC_SOURCE_PROXY, to be
overwritten with the size of the GLEXEC_CLIENT_PROXY, which was read later.

List of changes:
- glexec_read_source_proxy() -> glexec_read_proxy()
- user_proxy renamed in source_proxy and made local to main()
- source_proxy_size made local to main()
  it also is a ssize_t to be able to distinguish size 0 from error (-1)
- new error codes for either SOURCE or CLIENT:
    GLEXEC_PROXY_OPEN_FAILED
    GLEXEC_STAT_ERROR_PROXY
  added error messages for these.
- renamed errors:
    GLEXEC_SOURCE_PROXY_IS_LINK -> GLEXEC_PROXY_IS_LINK
    GLEXEC_SOURCE_PROXY_TOO_LARGE -> GLEXEC_PROXY_TOO_LARGE
    GLEXEC_WRONG_PERMISSION_SOURCE_PROXY ->
    GLEXEC_WRONG_PERMISSION_PROXY
  changed error messages for these.

------------------------------------------------------------------------
r11094 | msalle | 2009-04-14 12:21:59 +0200 (Tue, 14 Apr 2009) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

ewording, clarifications, typo-fixing...
Added note on LD_LIBRARY_PATH for setuid applications.

------------------------------------------------------------------------
r11093 | msalle | 2009-04-06 22:41:37 +0200 (Mon, 06 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Test with -t for email, no real change

------------------------------------------------------------------------
r11092 | msalle | 2009-04-06 21:57:33 +0200 (Mon, 06 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Test: mail problem

------------------------------------------------------------------------
r11090 | msalle | 2009-04-06 20:51:43 +0200 (Mon, 06 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Another test, email address is still wrong. Just added another empty line.

------------------------------------------------------------------------
r11089 | msalle | 2009-04-06 19:49:24 +0200 (Mon, 06 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Test: cvs email didn't work, just added empty line (no real change)

------------------------------------------------------------------------
r11088 | msalle | 2009-04-06 16:45:42 +0200 (Mon, 06 Apr 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Removed numerous typos and (started to) standardize(d) format.

------------------------------------------------------------------------
r11065 | okoeroo | 2009-03-17 12:49:01 +0100 (Tue, 17 Mar 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

Fixing a problem found in pre-certification testing. The fix wasn't complete yet.

------------------------------------------------------------------------
r11063 | okoeroo | 2009-03-17 09:43:14 +0100 (Tue, 17 Mar 2009) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h

Added version resolution from the configure.ac.

Warning:
Now it needs Major.Minor.Patch-Age notation in the configure.ac file!

------------------------------------------------------------------------
r11062 | okoeroo | 2009-03-17 08:51:04 +0100 (Tue, 17 Mar 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removed perror().

------------------------------------------------------------------------
r11061 | okoeroo | 2009-03-16 23:22:51 +0100 (Mon, 16 Mar 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixing bug #48106.
The whitelisting routine will seg.fault when a Secondary GID to consider doesn't have a groupname (system cinfiguration failure) to compare with the build-in designated special group ('glexec' by default).

------------------------------------------------------------------------
r11019 | okoeroo | 2009-03-01 22:20:08 +0100 (Sun, 01 Mar 2009) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

Added extra info about the library paths that are required to be set. Eventhough this information might be somewhat obvious, it is nice to add hints about the matter.

Also, I've followed Mischa's idea of running the manpage through aspell.
Fixed the spelling of the first manpage.

------------------------------------------------------------------------
r11009 | okoeroo | 2009-02-26 10:23:33 +0100 (Thu, 26 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/runautotools
   M /trunk/glexec/src/glexec.c


Small fixes

------------------------------------------------------------------------
r11008 | okoeroo | 2009-02-26 10:18:00 +0100 (Thu, 26 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/src/glexec.c

Completely removed the remaining SSL_CLIENT_CERT references.
Fixed a seg.fault condition, this version will be it.

------------------------------------------------------------------------
r11007 | okoeroo | 2009-02-25 16:25:41 +0100 (Wed, 25 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Fixing issue found by Dennis.

------------------------------------------------------------------------
r10988 | okoeroo | 2009-02-23 15:54:39 +0100 (Mon, 23 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

Adjusted the returncode value also in the manpage.

------------------------------------------------------------------------
r10987 | okoeroo | 2009-02-23 15:51:25 +0100 (Mon, 23 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed wrong shell exit code returning.

------------------------------------------------------------------------
r10985 | okoeroo | 2009-02-23 15:02:40 +0100 (Mon, 23 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

Adjusted manpages accordingly

------------------------------------------------------------------------
r10984 | okoeroo | 2009-02-23 14:57:43 +0100 (Mon, 23 Feb 2009) | 28 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added more explicit checks and failure situations regarding possible user setup errors.


More importantly, a behavior difference and new related configuration options for glexec.conf:


Behavior difference:

Writable executables and symlinked executables (like: /bin/sh -> /bin/bash) will be executed with the execv() function.
The POSIX file system level check that checks if you have a chance of executing the command is also removed. It would discard ACL based (shared) filesystem permissions and stop prematurely..

The exit situation of the execv (in case of failure) now addresses the failure in much more detail.
By example of Bash, the child process will return exit code 120 when the execv failed because of permission errors.

So, the error code for gLExec are now: 201, 202, 203, 204 and 120. For which the 120 is similar to the shell exit code.


New options:

bit_exec_via_symlink = {yes,no}
This option will disallow the execution of a command or executable that is symlinked. Default: No (which will allow the execution of a symlink)

pedantic_security_checks = {yes,no}
This option will enable the premature checks again. It will check if you can exectue the command, regarding the POSIX file system permission bits and your current active Unix credentials in the process. It will also check if the executable is world writeable.


Note: setting both to 'yes' will re-enable the old behavior.

------------------------------------------------------------------------
r10983 | okoeroo | 2009-02-23 13:04:26 +0100 (Mon, 23 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removed all the checks as suggested in bug #39898

Also removed the verbose stuff from the log file for glexec. Only one line per invocation is shown, to indicate who started glexec, who the user became and what is going to be executed (on request of our sysadmin)

------------------------------------------------------------------------
r10982 | okoeroo | 2009-02-23 12:03:56 +0100 (Mon, 23 Feb 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

When to gLExec child process bails out:

Push a 120 error code upstream (as bash does when it is not permitted to launch a script due to file permission restirctions)
Also report explicitly why the execv() command failed.

------------------------------------------------------------------------
r10973 | okoeroo | 2009-02-22 09:28:25 +0100 (Sun, 22 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Tell in the -V what the value of GLEXEC_MAX_PROXY_SIZE is.
Upscaled the proxy size from 200kB to 1MB.

------------------------------------------------------------------------
r10971 | okoeroo | 2009-02-21 17:28:37 +0100 (Sat, 21 Feb 2009) | 8 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

Fixes the logging-only mode which (due to a small error on my end) didn't work between the latest versions.

Also attended both the manpages, found some typos and order all the glexec.conf options alfabetically


Bumped version to: 0.6.4-1
This version will go to the PPS and beyond...

------------------------------------------------------------------------
r10970 | okoeroo | 2009-02-21 16:53:43 +0100 (Sat, 21 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Final fixes for logging-only mode.

------------------------------------------------------------------------
r10969 | okoeroo | 2009-02-21 16:25:58 +0100 (Sat, 21 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed the logging-only mode issue.

------------------------------------------------------------------------
r10966 | okoeroo | 2009-02-20 22:32:04 +0100 (Fri, 20 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Small fixes.

------------------------------------------------------------------------
r10965 | okoeroo | 2009-02-20 21:23:37 +0100 (Fri, 20 Feb 2009) | 11 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added rework around the locking mechansim (requested by CREAM).

From the glexec.conf file the following item can be set in the [glexec] section:

lock_mechanism    = {fnctl,flock,disabled}

The default is still flock(2) as it always has been. But you can now select to use fcntl.
This should help in the CREAM->BLAH->gLExec interaction.

It must be thorough tested before making fnctl default, but that's going to be the goal.

------------------------------------------------------------------------
r10963 | okoeroo | 2009-02-20 16:12:45 +0100 (Fri, 20 Feb 2009) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Implemented proper checks for the possibility of checking if a command/program is actually executable.
The limiting factor is when ACLs override specific executable bits on the program itself (not the dir or something like that).


This means that I will check if the mapped account has a chance of executing the program, based on the POSIX file system permissions on the program.
But... this could be done cleaner when I just catch the child process execv and trigger on errno. This will result in an overlapping error message from my child process in gLExec and I can't resolve this by sending an error 205 (specific for this case), because 204 should be the overlapping code, for which this is a code that would be in that range and overlapping (yes, a recursive problem...).


I'm going to deploy the less perfect but proper user reporting POSIX filesystem permissions checking. When people have problems with ACL based file systems, please notify me for a differen solution (takes more time to try option number 3 which is also not ideal...)

Side note: I think I will cover 95% to 99% of all setups. Prove me wrong I say :-)

------------------------------------------------------------------------
r10962 | okoeroo | 2009-02-20 10:16:22 +0100 (Fri, 20 Feb 2009) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added check to see if executable is executable according to POSIX permissions.
Note: this is a limiting factor when using ACLs on the file system. Will be fixed soon too.

ps: Can execute /bin/bash not /bin/sh (as this is a symlink, thus not safe).

It all works nicely without gLExec crashing.

------------------------------------------------------------------------
r10961 | okoeroo | 2009-02-20 08:32:43 +0100 (Fri, 20 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

Typo in doc.

------------------------------------------------------------------------
r10960 | okoeroo | 2009-02-19 22:48:39 +0100 (Thu, 19 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Explicitly checking if the command/program to execute is a symlink or not. This check was mixed with the stat call itself.

Open issue: the cmd to execute isn't always executable for the current process with the mapped privileges. Next up is to add a check (already prepared) that tests if the mapped account could (by POSIX file permissions) execute the cmd. The existing check is insufficient.

------------------------------------------------------------------------
r10959 | okoeroo | 2009-02-19 19:53:47 +0100 (Thu, 19 Feb 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

More defencive programming prevents a beautiful seg.fault.
Also I've discovered that gLExec will never execute /bin/sh as its a symlink to /bin/bash and /bin/bash also never because a stat failed... I don;t understand this.

What DOES work is the direct execution of a script with sufficient execution rights. Not having the execution bits will perform a strange effect which I need to cover.

------------------------------------------------------------------------
r10958 | okoeroo | 2009-02-19 17:40:46 +0100 (Thu, 19 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Lots of code clean ups and also lots of liberations of memory.

------------------------------------------------------------------------
r10957 | okoeroo | 2009-02-19 15:02:49 +0100 (Thu, 19 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

Properly free configuration file elements, check-ed the configuration log file opening sequences and added small fixes.

------------------------------------------------------------------------
r10952 | okoeroo | 2009-02-18 16:28:42 +0100 (Wed, 18 Feb 2009) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Closing logfiles for LCAS improved and beautified error message.

More significantly:
The child exit code is now provided properly and (even more significant):

The $SSL_CLIENT_CERT env var is no longer supported and looked at in the code (remind: will need to write this out of the man page).

It was faulty from the start to read the PEM string from the environment (especially when using VOMS). It was a game of chance if it succeeded.
We've announced its deprication a long time ago and when I saw the environment read-out code, I've decided to cut it out right directly.

------------------------------------------------------------------------
r10951 | okoeroo | 2009-02-17 16:25:57 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removed double fflush() situation and added fclose() on the glexec log file itself. There is a beautiful function for this, but quite underutilized.

------------------------------------------------------------------------
r10950 | okoeroo | 2009-02-17 16:17:37 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Able to close the log files of LCAS and LCMAPS now when finished using the frameworks.

------------------------------------------------------------------------
r10949 | okoeroo | 2009-02-17 16:08:54 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added the obligatory termination (and clean up) functions of both LCAS and LCMAPS.

------------------------------------------------------------------------
r10948 | okoeroo | 2009-02-17 16:02:11 +0100 (Tue, 17 Feb 2009) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Able to use multiple LCMAPS plugin policies in the lcmaps.db and execute them as fail over and, we enacted the ability to configure which policies are executed (neglecting other definitions in the lcmaps.db file) with the value "lcmaps_get_account_policy" from the glexec.conf.

Example:

[glexec]
lcmaps_get_account_policy = scas:pepc


Note: the order is defined not by the list above, but in the order in which the policies are written in the lcmaps.db file. So, if the pepc policy is above the scas policy in the lcmaps.db, then that one will always be tried first.

------------------------------------------------------------------------
r10947 | okoeroo | 2009-02-17 15:03:05 +0100 (Tue, 17 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

I can now log that the initialization of either LCAS or LCMAPS failed and halt gLExec.
Also fixed is the option 'use_lcas = {yes,no}' in the glexec.conf. It can now succesfully bypass LCAS when explicitly declared not to use LCAS.

------------------------------------------------------------------------
r10946 | okoeroo | 2009-02-17 11:31:23 +0100 (Tue, 17 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

The $GLEXEC_MODE "lcmaps_verify_account" is now unsupported.

Only people who have read the source code truly know of its existance and might have a hint of its meaning. Please contact us (the developer(s)) of gLExec to re-enable this mode if you were using it (reflected in the error message on the stderr that you should contact us if this FUBAR-ed an unknown use case for gLExec.

------------------------------------------------------------------------
r10945 | okoeroo | 2009-02-17 10:58:28 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

Forgot manpage (this must change some time...)

------------------------------------------------------------------------
r10944 | okoeroo | 2009-02-17 10:57:04 +0100 (Tue, 17 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c


Bumped version and added a testing feature for very specific testing purposes that is enable when providing the define YES_I_AM_REALLY_SURE_TO_DISABLE_THIS_SECURITY_MEASURE_IN_GLEXEC

------------------------------------------------------------------------
r10943 | okoeroo | 2009-02-17 09:13:46 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Human compilers are not flawless. The mind-compiler seemed to result in one oversight (darn 2 space tabstop)

------------------------------------------------------------------------
r10942 | okoeroo | 2009-02-17 09:10:16 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added error reporting explicit exit code mapping declaration for the latest states.

------------------------------------------------------------------------
r10941 | okoeroo | 2009-02-17 09:03:19 +0100 (Tue, 17 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added extra distinct exit errors and replaced lots of GLEXEC_UNCLASIFIED. Only a few left over of which most of them are truely unclassifiable.

------------------------------------------------------------------------
r10940 | okoeroo | 2009-02-16 21:52:16 +0100 (Mon, 16 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Altered the flow a bit and all the checks regarding the $GLEXEC_MODE variable.

gLExec doesn't seg.fault when the GLEXEC_MODE is set and FUBAR and gLExec also doesn't seg.fault when no arguments or commands are provided on the CLI. Thanks to Jan Just for the find.

------------------------------------------------------------------------
r10939 | okoeroo | 2009-02-16 20:31:48 +0100 (Mon, 16 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Flow (and readability) of the whitelist check (combining the special group check and the whitelist check in the glexec.conf file) improved.

------------------------------------------------------------------------
r10938 | okoeroo | 2009-02-16 19:13:36 +0100 (Mon, 16 Feb 2009) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Explicit check to identify the permissions check and fopen() failure of the gLExec logfile.

Also, when the permissions check fail or when the fopen() failes, gLExec will now signify this explicitly and fail.
Log file failure means gLExec failure. If you want to prevent this, then configure:

[glexec]
log_destination = syslog

------------------------------------------------------------------------
r10937 | okoeroo | 2009-02-16 12:51:49 +0100 (Mon, 16 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

pw_name -> pw_name

------------------------------------------------------------------------
r10936 | okoeroo | 2009-02-16 12:33:21 +0100 (Mon, 16 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Ownership of the path check failed. Possible a too harsh search and replace case.
A failure resulted into a seg.fault/coredump.

------------------------------------------------------------------------
r10935 | okoeroo | 2009-02-16 12:19:05 +0100 (Mon, 16 Feb 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

Merging of glexec.h and glexec_conf.h defines and prototypes. Too many information is scattered between the files and too much of it is cross used. Need to work on a more solid base because this is not workable.

Removed dead-definition of apache suEXEC remains.

Added new explicit error condition when a value from the glexec.conf file is read and doesn't contain the required yes/no answer, then gLExec wil simply fail. No more fall back on build in values when the configuration is clearly FUBAR and administrator intervention is required.

------------------------------------------------------------------------
r10933 | okoeroo | 2009-02-16 10:43:20 +0100 (Mon, 16 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

Bump age to sync with etics failure.

------------------------------------------------------------------------
r10932 | okoeroo | 2009-02-16 10:42:12 +0100 (Mon, 16 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/project/version.properties

Updated manpages to reflect new exit code/return value situation.

------------------------------------------------------------------------
r10930 | okoeroo | 2009-02-16 09:47:38 +0100 (Mon, 16 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

Bumped version.

btw: the privileged group changed from the 'apache' group name to the 'glexec' group.

------------------------------------------------------------------------
r10929 | okoeroo | 2009-02-16 09:41:17 +0100 (Mon, 16 Feb 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Refactored the whitelisting sequences in the main of glexec
Adding a few more handy defines
Removed unused variables
Made a code construct readable by adding more comments.
Tested the whitelisted function thoroughly and it works

------------------------------------------------------------------------
r10928 | okoeroo | 2009-02-16 08:28:58 +0100 (Mon, 16 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Removed unused variables, changed some 'modern art' like constructs (original, functional, but not particularly beautiful to my frame of mind).

------------------------------------------------------------------------
r10926 | okoeroo | 2009-02-13 19:39:22 +0100 (Fri, 13 Feb 2009) | 9 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

Bumping version to 0.6.1-1


As the primary interface (the shell exit codes) are changed dramatically
I have to signify this huge change by altering the minor version and not
publish this fix as a 0.5.43-1 version.

The latest version publish with the previous interface was 0.5.42-1.

------------------------------------------------------------------------
r10925 | okoeroo | 2009-02-13 19:34:26 +0100 (Fri, 13 Feb 2009) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Stderr output edited and added more internal error code states.

I can now signal to the user which stat() call actually failed. It doesn't have all the details (not the string value of the file path for instance).
That would require an extra recode phase which, at this point, require too much of a re-design of gLExec's internal work to do this... I'll do this when I get time to do it.

I'll probably have to do more then what I did now, but this should cover all the low-hanging fruit with this addition.
Comments are welcome, I'll have to test a bit more to be assured that I've done this consistently.

------------------------------------------------------------------------
r10924 | okoeroo | 2009-02-13 19:11:24 +0100 (Fri, 13 Feb 2009) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

The error codes and error messages on the CLI are fully changed. I still need to add more detailed error message, like *which* file actually has a stat call failure.


Also this message: "glexec was unable to execute the request. See glexec log for more details."
Is replaced by: "[gLExec]:   %s". Where %s is replaced by the specific error message, when the user is allowed to see that type of failures.

------------------------------------------------------------------------
r10923 | okoeroo | 2009-02-13 16:19:45 +0100 (Fri, 13 Feb 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

This version seems to push all the error codes into the previously mentioned error code sections.
Also lots of error messages are now also very explicit in the error message that is logging into the glexec.log file.

The most interesting would be to push the user-specific error codes to the stderr.

------------------------------------------------------------------------
r10922 | okoeroo | 2009-02-13 10:39:19 +0100 (Fri, 13 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Adding specific proxy file and proxy environment failure condition tests.

------------------------------------------------------------------------
r10921 | okoeroo | 2009-02-13 09:48:59 +0100 (Fri, 13 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

replacing old var name with new var name (one oversight in my mentalistic-compiler isn't bad)

------------------------------------------------------------------------
r10920 | okoeroo | 2009-02-13 09:23:18 +0100 (Fri, 13 Feb 2009) | 17 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

First gigantic overhaul of the effective exit codes for gLExec.

Should 'effectivate' the new situation to the following gLExec error code:


201 - client error
202 - internal error
203 - authz error

To deal with the application using any of those codes one would add this case:

204 - application exited with code 201, 202, 203 or 204



Personal log: train delays have pros and cons... Con: I'm late! Pro: angre and rage accelerate my code monkey work significantly.

------------------------------------------------------------------------
r10900 | okoeroo | 2009-02-07 21:33:09 +0100 (Sat, 07 Feb 2009) | 15 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

Fixed all shadowed declarations. This will help in code readability. In this case to clarifing when a globally
declared variables and the local scoped once were used (with the same name).

I've also updated all the exit codes of gLExec. I've cross-checked the explination next to the error numbers, the number declared in the exit code and what is actually happening before the exit is trigger.
The header file that defined the exit code numbers and the exit code were sometimes in consistent with the actual reason of the exit. This is now improved.


These were all signified as non-intrusive code changes... however...


gLExec behaved very odd. The configuration file was read ok, parsed ok and returned to the main function. But somehow it got to a failure state and exited.
Thanks to Dennis and the gdb tool we've found out that the return code was GLEXEC_CONF_SUCCESS and the check in the main function is to compare the return code with GLEXEC_SUCCESS. It turned out my renumbering in the defines of the error code numbers in the glexec.h created an inconsistency with the error code in the glexec_conf.h file.

Having GLEXEC_CONF_SUCCESS was not the same as GLEXEC_SUCCESS anymore. I've restored this balance, but having two set of error codes in two areas and testing between those seperate areas means there is a very hard tie between them without a change of implicit consistency checks. (To be improved).

------------------------------------------------------------------------
r10889 | okoeroo | 2009-02-04 10:34:06 +0100 (Wed, 04 Feb 2009) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Added a new failure error code and uniformed non-specific error codes.
All exit code of glexec should now be identifiable in the list.

A lot of the error code which need more attention to classify are labeled as GLEXEC_UNCLASIFIED.
This needs to be updated soonish to an explicity error statement. This would ease possibly glexec exit code
groupings for VO pilot job framework.

If the new idea works well we could have one (big) reason less to be having to offer the 'linger = no' state to the glexec users.
(...as I personally prefer the 'linger = yes' setting more then its counterpart).

------------------------------------------------------------------------
r10888 | okoeroo | 2009-02-03 16:44:27 +0100 (Tue, 03 Feb 2009) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Uniformed the exit codes in the main function.
All are also directed via a common exit function. This will allow for easy changes and more uniformaty in the exit code handling.

------------------------------------------------------------------------
r10887 | okoeroo | 2009-02-03 16:16:03 +0100 (Tue, 03 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version (not ready yet).

------------------------------------------------------------------------
r10886 | okoeroo | 2009-02-03 16:15:31 +0100 (Tue, 03 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

Improved initializations of variables, used a static buffer for the executable name and clean ups.

------------------------------------------------------------------------
r10885 | okoeroo | 2009-02-03 14:06:08 +0100 (Tue, 03 Feb 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Fixed a casting error (no harm done before and after the fix).

------------------------------------------------------------------------
r10884 | okoeroo | 2009-02-03 11:55:53 +0100 (Tue, 03 Feb 2009) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Resolved variable shadowing (global and local scope variable name overlaps) in various places and initialized potentially uninitialized variables.
The variables that were identified as potentially used uninitialized were not being used uninitialized in the current code path.

No negative effect has been identified regarding before my update, but I strive for clean builds when ever possible (will pay off later).

------------------------------------------------------------------------
r10883 | okoeroo | 2009-02-03 11:24:27 +0100 (Tue, 03 Feb 2009) | 4 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

First order of business with me as main commiter in the gLExec code:

More pedentic (read: security driven paranoia) CFLAGS to hunt for potential problems and elimintate them when ever possible.

------------------------------------------------------------------------
r10881 | okoeroo | 2009-01-30 18:15:10 +0100 (Fri, 30 Jan 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumping version due to fixes in the logrotate script.

------------------------------------------------------------------------
r10880 | groep | 2009-01-30 16:36:17 +0100 (Fri, 30 Jan 2009) | 2 lines
Changed paths:
   M /trunk/glexec/etc/logrotate.d/glexec

Fixed typo in copytructate, and set default perms to 0600 root:root for glexec log

------------------------------------------------------------------------
r10841 | okoeroo | 2009-01-19 09:25:59 +0100 (Mon, 19 Jan 2009) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Tagging the NFS rootsquash resistable version of gLExec.

------------------------------------------------------------------------
r10827 | venekamp | 2009-01-07 14:29:54 +0100 (Wed, 07 Jan 2009) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Wrong check

------------------------------------------------------------------------
r10821 | venekamp | 2008-12-18 19:55:53 +0100 (Thu, 18 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  down on one more error...

------------------------------------------------------------------------
r10820 | venekamp | 2008-12-18 16:02:58 +0100 (Thu, 18 Dec 2008) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

an other try... etics-build does not work locally right now and hence
the stange addition of small code fixes... anyway, I had the wrong
manula page in front of me when lookign at the seteuid() function.

------------------------------------------------------------------------
r10819 | venekamp | 2008-12-18 15:33:22 +0100 (Thu, 18 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Coding error...

------------------------------------------------------------------------
r10818 | venekamp | 2008-12-18 15:11:42 +0100 (Thu, 18 Dec 2008) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Better protection against NFS root_squasg problem, i.e. reading of
   proxies with user 'nobody' due to root squashing on NFS mount should
   not fail anymore as the effective uid is lowered to that of the calling
   user before the reading of the proxy. Afterwards the effective uid
   is restored.

------------------------------------------------------------------------
r10816 | venekamp | 2008-12-18 15:08:44 +0100 (Thu, 18 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

o  Split up an error message into two for readability

------------------------------------------------------------------------
r10815 | venekamp | 2008-12-18 09:22:06 +0100 (Thu, 18 Dec 2008) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  Removed the reference to the proxy file in the FILES sections, because:
   1 - the location of proxy files is not standardized;
   2 - the location of the proxy file is referenced through the appropriate
       environment variables anyway.

------------------------------------------------------------------------
r10814 | venekamp | 2008-12-17 15:03:51 +0100 (Wed, 17 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

o  A few more correction on the documentation.

------------------------------------------------------------------------
r10813 | venekamp | 2008-12-17 14:55:46 +0100 (Wed, 17 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  one more typo due to a copy paste action :-)

------------------------------------------------------------------------
r10812 | venekamp | 2008-12-17 14:35:59 +0100 (Wed, 17 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  typo

------------------------------------------------------------------------
r10810 | venekamp | 2008-12-11 14:36:58 +0100 (Thu, 11 Dec 2008) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.h

o  Lest we not forget to update the version that is printed with glexec -v
   It would create too much confusion if the wrong version is reported.

------------------------------------------------------------------------
r10809 | venekamp | 2008-12-11 14:19:02 +0100 (Thu, 11 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Add a few more log message and corrected a log string.

------------------------------------------------------------------------
r10808 | venekamp | 2008-12-11 09:48:58 +0100 (Thu, 11 Dec 2008) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  Updaqte manual page to clear up the usage of the environemnt variable
   X509_USER_PROXY.

------------------------------------------------------------------------
r10802 | venekamp | 2008-12-10 12:33:30 +0100 (Wed, 10 Dec 2008) | 2 lines
Changed paths:
   D /trunk/glexec/doc/man/glexec.config.5

o delete file

------------------------------------------------------------------------
r10801 | venekamp | 2008-12-10 11:45:44 +0100 (Wed, 10 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5

o  More manual page updates

------------------------------------------------------------------------
r10798 | venekamp | 2008-12-02 11:26:40 +0100 (Tue, 02 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  more manual page updates, this fixed bug #37254

------------------------------------------------------------------------
r10797 | venekamp | 2008-12-01 16:44:17 +0100 (Mon, 01 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  More manual page updates. Fixes some out standing bugs.

------------------------------------------------------------------------
r10795 | venekamp | 2008-12-01 14:57:41 +0100 (Mon, 01 Dec 2008) | 4 lines
Changed paths:
   M /trunk/glexec/project/version.properties

o  Update module age from 1 to 2 as the only changes are either in the
   manual pages or strings in the source code. In other words no actual
   code has changed, just a single string which contained a grammar error.

------------------------------------------------------------------------
r10794 | venekamp | 2008-12-01 14:55:09 +0100 (Mon, 01 Dec 2008) | 3 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

o  Glexec is at version 0.5.39 already.
o  Update the date in the glexec.conf manual page as well.

------------------------------------------------------------------------
r10793 | venekamp | 2008-12-01 14:51:47 +0100 (Mon, 01 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  More documentation updates

------------------------------------------------------------------------
r10792 | venekamp | 2008-12-01 14:51:26 +0100 (Mon, 01 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Update one string (rectify grammar error)

------------------------------------------------------------------------
r10791 | venekamp | 2008-12-01 14:50:17 +0100 (Mon, 01 Dec 2008) | 2 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1

o  Updated glexec manual page

------------------------------------------------------------------------
r10789 | venekamp | 2008-11-26 13:52:44 +0100 (Wed, 26 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

bump version

------------------------------------------------------------------------
r10788 | venekamp | 2008-11-26 13:51:49 +0100 (Wed, 26 Nov 2008) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

removed debug statements. This version should work for the following
scenarios:
  1 - glexec with suid and logging to syslog;
  2 - glexec with suid and logging to file;
  3 - glexec wthout suid and loggong to file;

1 to 3 have been tested and verified to be correct.

------------------------------------------------------------------------
r10787 | venekamp | 2008-11-26 13:01:31 +0100 (Wed, 26 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Fix for file permission, contains debug info for testing on WN

------------------------------------------------------------------------
r10779 | venekamp | 2008-11-25 15:48:35 +0100 (Tue, 25 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.h

Update the age

------------------------------------------------------------------------
r10778 | venekamp | 2008-11-25 15:48:23 +0100 (Tue, 25 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

small string update

------------------------------------------------------------------------
r10765 | groep | 2008-11-18 12:17:43 +0100 (Tue, 18 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Repaired

------------------------------------------------------------------------
r10763 | venekamp | 2008-11-17 16:05:53 +0100 (Mon, 17 Nov 2008) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  In case the identity switch did not happen, glexec can determine
   whether or not lcmaps was supposed to do the identity switching. Error
   message has ben extended to include extra information as to the cause.

------------------------------------------------------------------------
r10757 | venekamp | 2008-11-13 16:47:33 +0100 (Thu, 13 Nov 2008) | 7 lines
Changed paths:
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

"Logging only" mode should work on. Has been verified on a clean glite-WN
o  Corrected c comments in the code
o  Let glexec show the correct version with glexec -v instead of HEAD.
   One day this will be automatically retreived from the config file, but
   today this is not that day.
o  Update the age glexec from 1 to 2.

------------------------------------------------------------------------
r10755 | venekamp | 2008-11-13 15:30:31 +0100 (Thu, 13 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Fix fix fix

------------------------------------------------------------------------
r10754 | venekamp | 2008-11-13 15:29:35 +0100 (Thu, 13 Nov 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Another test

------------------------------------------------------------------------
r10752 | venekamp | 2008-11-13 12:18:48 +0100 (Thu, 13 Nov 2008) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Small fixes for logging only mode. This version seems to work.
NOTE: Using syslog procduces and incomplete log, i.e. not all information
      is displayed. This applies to both lcas and lcmaps and should be
      resolved at that level. Glexec cannot do anything about that and does
      log its own messages correctly to both syslog and file. Using a newer
      version for both lcas and lcmaps should mitigate this problem. At the
      moment of this write, these new versions have yet to be started.

------------------------------------------------------------------------
r10751 | venekamp | 2008-11-12 16:27:52 +0100 (Wed, 12 Nov 2008) | 9 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

o  Changed the code of checking paths. Uses a proper uid in stead of
   a string for example.
o  Added the {LCAS|LCMAP}_LOG_LEVEL environments to glexec
o  Set LCAS and LCMAPS explicitly in syslog mode

logging only mode seems to work in this version, however lcas and lcmaps
seem to be unwilling to cooperate on using syslog exclusively. There are
still unresolved issues with logging only mode that need to be resolved.

------------------------------------------------------------------------
r10603 | venekamp | 2008-09-01 10:39:49 +0200 (Mon, 01 Sep 2008) | 6 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

o  Make sure the original proxy is read before lcmaps could have had the
   chance to change the idenity of the process. This avoid the problem
   where the original proxy cannot be read, as glexec should have suffcient
   privileges to read the source proxy when started.
o  Bump version of glexec

------------------------------------------------------------------------
r10561 | venekamp | 2008-07-18 15:19:58 +0200 (Fri, 18 Jul 2008) | 17 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

<< fix for previous log message >>

o  Logging mode did not work correctly. In case logging mode was used,
   by dropping the setuid bit on glexec, letting lcmaps do the user
   switch and have lcmaps not configured to use the posix_enf plugin,
   a proxy was tried to be copied. This most likely failed as the
   process does not generally have the correct ownership to write to
   the location. A check was added to make sure that the coping only
   takes place if the uid process (glexec) equals that of the target
   user.
o  By letting lcmaps do the user switching and not having the posix_enf
   plugin configured, the returned mapping will be checked and flaged
   for root, but since the process ownership has not changed, i.e.
   is still root, a check was added to signal for this and report this
   as a misconfiguration as this should never happen.
o  Updated the version of glexec.

------------------------------------------------------------------------
r10560 | venekamp | 2008-07-18 15:16:54 +0200 (Fri, 18 Jul 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/runautotools
   M /trunk/glexec/src/glexec.c

/tmp/cvs-message

------------------------------------------------------------------------
r10506 | venekamp | 2008-06-19 14:16:08 +0200 (Thu, 19 Jun 2008) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

o  Bug fix: Fixes bug 37241, where the selection of an item of a
            poolaccount did not work as advertized.
o  New glexec version.

------------------------------------------------------------------------
r10504 | venekamp | 2008-06-19 09:37:45 +0200 (Thu, 19 Jun 2008) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

o  Bug fix: #37908, when there is not logging file, glexec nolonger
            complains about wrong permissions and creates the log file.
o  New version of gLExec.

------------------------------------------------------------------------
r10500 | venekamp | 2008-06-17 12:55:25 +0200 (Tue, 17 Jun 2008) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Bug Fix: #37299, improved the log messages. This was a relic from gsexec
            for which a docroot path was always used to start executables
            from. In glexec this does not make sense anymore, but the log
            message still reflected this. Other messages suffered from the
            same problem.

------------------------------------------------------------------------
r10499 | venekamp | 2008-06-13 12:24:50 +0200 (Fri, 13 Jun 2008) | 6 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/doc/man/glexec.conf.5

o  Include keys 'log_destination' and 'log_file' in the glexec.conf man
   page.
o  Removed JOB_REPOSITORY_ID from the glexec man page as this is an
   internal variable setup by glexec to be used by lcas and lcmaps and
   should be explained there.

------------------------------------------------------------------------
r10497 | venekamp | 2008-06-12 16:21:14 +0200 (Thu, 12 Jun 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

increase version to 0.5.31

------------------------------------------------------------------------
r10496 | venekamp | 2008-06-12 16:02:59 +0200 (Thu, 12 Jun 2008) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.conf.5
   M /trunk/glexec/src/glexec.c

o  Added configuration option to allow to specify what users are white
   listed to not have to present their private key in their certificate
   or proxy.
o  gLExec.conf man page updated to reflect this addition.

------------------------------------------------------------------------
r10495 | venekamp | 2008-06-12 11:40:21 +0200 (Thu, 12 Jun 2008) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Removed unused function.
o  Check for correct persmissions and ownership of the log file.
o  Checking a path always succeeded eventhough it should fail.

------------------------------------------------------------------------
r10492 | venekamp | 2008-06-11 16:44:23 +0200 (Wed, 11 Jun 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Remove debugging printf()

------------------------------------------------------------------------
r10491 | venekamp | 2008-06-11 16:23:29 +0200 (Wed, 11 Jun 2008) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  The return value of glexec_write_source_proxy() was no checked and
   this allowed the continuation of glexec when the coping of a proxy
   had failed.

------------------------------------------------------------------------
r10487 | venekamp | 2008-06-11 13:41:02 +0200 (Wed, 11 Jun 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

o  Moved a function from glexec_config.c to glexec.c

------------------------------------------------------------------------
r10486 | venekamp | 2008-06-11 13:25:31 +0200 (Wed, 11 Jun 2008) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   M /trunk/glexec/src/glexec.c

o  Set umask before opening the log file. This fixes the situation in which
   a new log file is created with wrong permissions.
o  Removed an unnecessary/unused stat() call.
o  Correct the default location of the proxy in the manual page.

------------------------------------------------------------------------
r10485 | venekamp | 2008-06-10 16:34:45 +0200 (Tue, 10 Jun 2008) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Bug fix: added check to see if a source file has been altered between
            stat() and open() calls when coping proxies.

------------------------------------------------------------------------
r10482 | venekamp | 2008-06-05 16:45:36 +0200 (Thu, 05 Jun 2008) | 10 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Bug fix: All proxies that glexec accpets are now checked for ownership,
            permissions and such.
o  Bug fix: Environment variables that make is to the log destination are
            now checked that they containt 'valid' characters only, i.e.
            no new lines or non-ascii characters.
o  Added the '-v' and '--version' switches to display what version of
   glexec is running. This currently default to HEAD as the autoconfig
   needs to change also.
o  Typos

------------------------------------------------------------------------
r10476 | venekamp | 2008-06-02 16:24:51 +0200 (Mon, 02 Jun 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

new version

------------------------------------------------------------------------
r10475 | venekamp | 2008-06-02 16:05:46 +0200 (Mon, 02 Jun 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/glexec.c

Bug fix: #37250

------------------------------------------------------------------------
r10470 | venekamp | 2008-05-29 13:14:43 +0200 (Thu, 29 May 2008) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c

o Bug fix: used != instead of |=
o Updated version to 0.5.29

------------------------------------------------------------------------
r10468 | venekamp | 2008-05-29 11:25:15 +0200 (Thu, 29 May 2008) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

New version of glexec 0.5.28

------------------------------------------------------------------------
r10467 | venekamp | 2008-05-29 11:23:25 +0200 (Thu, 29 May 2008) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Bug fix: Some rework on the writing of the proxy that needs to be copied
   has inadvertetly resulted in that the proxy will not be written in case
   the destination file already exists. Care has been taken that existing
   files can be overwritten again.

------------------------------------------------------------------------
r10465 | venekamp | 2008-05-29 11:20:00 +0200 (Thu, 29 May 2008) | 7 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.1
   A /trunk/glexec/doc/man/glexec.conf.5

o  Removed (renamed) glexec.config.5 to glexec.conf.5 as there was a typo
   in the name of the manual page.
o  The manual pages referred incorrectly to glexec.config instead of
   glexec.conf
o  The manual page had /etc/glexec.conf as the location for the config
   file, while in fact is should be /opt/glite/etc/glexec.conf

------------------------------------------------------------------------
r10459 | venekamp | 2008-05-19 16:41:01 +0200 (Mon, 19 May 2008) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

o  Removed unused variable.
o  Disabled explicit checking of group ownership of the glexec config file.
o  Fixed bug: in case a NULL or empty string for group checking was given,

------------------------------------------------------------------------
r10458 | venekamp | 2008-05-19 15:46:58 +0200 (Mon, 19 May 2008) | 16 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Compiled with -Wall:
    - fixed implict declarations;
    - fixed casts.
o  Fixed a bug  where glexec wanted to become root while glexec didn't had
   root privileges to begin with.
o  Fixed a bug where glexec printed a string with a '%s' contained in to and
   where the argument was a integer.
o  Make environment variable X509_USER_PROXY available to the real use job and
   fill it with the location of the copied proxy.
o  Made the location of the log file glexec uses configurable.
o  Changed the checking of blank characters in the config file. Glexec used
   the isblank() call, but this is not posix. Glexec checks for ' ' and 't\'
   now.
o  Assigned numbers to enums, this is to facilitate debugging a bit and does
   not introduce any real change.

------------------------------------------------------------------------
r10436 | venekamp | 2008-05-06 14:16:07 +0200 (Tue, 06 May 2008) | 3 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o Just bumping the age stamp so that a new RPM can be built with the
  rpath srtipping etics build.

------------------------------------------------------------------------
r10435 | venekamp | 2008-04-23 13:07:56 +0200 (Wed, 23 Apr 2008) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Added help message for the user (-h or --help)
o  Lock the file to which the proxy is written to. Needs more work though.

------------------------------------------------------------------------
r10434 | venekamp | 2008-04-21 15:01:23 +0200 (Mon, 21 Apr 2008) | 5 lines
Changed paths:
   M /trunk/glexec/doc/man/glexec.config.5

o  Update manual page to warn users when using the preserve_env_variables
   in combination of LD_LIBRARY_PATH and with the suid bit set for glexec
   that thinghs might not be what they would expect: LD_LIBRARY_PATH is
   no preserved due the the linker throwing it away before hand.

------------------------------------------------------------------------
r10433 | venekamp | 2008-04-21 14:53:20 +0200 (Mon, 21 Apr 2008) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  The handling of comma separated lists in the glexec configuration failed
   when an item was only seperated by a comma and not by a coma and a space
   the item was not seen, while is was on the list. This has been fixed now
   and both cases are handled correctly now and no items are lost.

------------------------------------------------------------------------
r10427 | venekamp | 2008-04-18 10:13:36 +0200 (Fri, 18 Apr 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o Bump version

------------------------------------------------------------------------
r10426 | venekamp | 2008-04-18 10:12:58 +0200 (Fri, 18 Apr 2008) | 6 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/doc/man/glexec.config.5
   M /trunk/glexec/src/glexec.c

o  Added possibility to let glexec not do the actual user switching, but
   let lcmaps do the actual switch. Glexec still does the checks. As a
   side effect of this approach, the backlogging is also disabled in case
   lcmaps does the switching. A plugin will be developed for lcmaps that
   reimplements this missing feature.

------------------------------------------------------------------------
r10419 | venekamp | 2008-04-15 12:48:31 +0200 (Tue, 15 Apr 2008) | 2 lines
Changed paths:
   A /trunk/glexec/doc
   A /trunk/glexec/doc/man
   A /trunk/glexec/doc/man/glexec.1
   A /trunk/glexec/doc/man/glexec.config.5

o  Added manual pages for both glexec and glexec.conf

------------------------------------------------------------------------
r10394 | venekamp | 2008-04-02 15:05:59 +0200 (Wed, 02 Apr 2008) | 18 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Added backlogging to glexec. Glexec now has the capebility to create
   files in the form: <mapped used>:<glexec pid> and which contain the
   user name of the user that called glexec. This information enables the
   tracebility from the real user job to glexec and the user calling for
   glexec. This information is also availble in the existing versions of
   glexec, but this way of presenting the information makes it easier
   accessible to scripting. The glexec configurarion file has been
   extended with the 'backlog_path' item and it should list where glexec
   must put these files. In case the last item of the path doesn't exists,
   it is created; anything else is not. File and directories are created
   with the effictive uid and gid and thus the suid and sgid bits are
   takening into account when set.
o  The file permission on the glexec configuration file have slightly
   loosend. If an administrator desides that the configuration file may be
   read by all users, glexec does not stand in the way anymore. In case of
   write permission, glexec will still fail.
o  The complete path will be checked for ownership now.

------------------------------------------------------------------------
r10389 | venekamp | 2008-02-28 13:20:23 +0100 (Thu, 28 Feb 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o  Updated version

------------------------------------------------------------------------
r10388 | venekamp | 2008-02-28 13:18:18 +0100 (Thu, 28 Feb 2008) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

o  Resolved some minor bugs

------------------------------------------------------------------------
r10387 | venekamp | 2008-02-26 16:18:15 +0100 (Tue, 26 Feb 2008) | 12 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

o  Reverted the default behaviour of the logging to a file. This was done
   such that the change doesn't affect CREAM.
o  Reenabled the file permission and user/group checking of the glexec
   configuration file. This was once disabled because the checking
   contained a bug, which is fixed now, and it was biting OSG at the time.
   However, this disabling of the checking was forgotten and remained
   disabled for far too long.
o  Fixed the reporting where LCAS and LCMAPS write their log file in the
   glexec log. The hard coded buildin location was always reported and thus
   the location that can be specified in the glexec configuration file was
   never taken into account.

------------------------------------------------------------------------
r10384 | venekamp | 2008-02-19 14:14:18 +0100 (Tue, 19 Feb 2008) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Glexec logs to syslog now.

------------------------------------------------------------------------
r10383 | venekamp | 2008-02-11 14:07:06 +0100 (Mon, 11 Feb 2008) | 5 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

o  Remove the glexec_fork from the automake file as is makes no sence
   anymore. Moreover, it is installed in /sbin/ and there we want to
   install sane executables only :-) Anyway, it is not used by anyone as
   far as I know.

------------------------------------------------------------------------
r10332 | okoeroo | 2007-08-28 16:14:08 +0200 (Tue, 28 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

bumped age for testing

------------------------------------------------------------------------
r10331 | okoeroo | 2007-08-28 16:13:39 +0200 (Tue, 28 Aug 2007) | 3 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

Fixes hardcoded path from $(GLITE_LOCATION)/lib to $(GLITE_LDFLAGS).
Issue found when needing to use a lib64 dir instead of a lib dir.

------------------------------------------------------------------------
r10321 | okoeroo | 2007-08-27 15:39:22 +0200 (Mon, 27 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

Bumped age: No code change but needed to stay in sync for the next jump to LCMAPS 1.4.x

------------------------------------------------------------------------
r10312 | venekamp | 2007-08-22 15:43:11 +0200 (Wed, 22 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

update version

------------------------------------------------------------------------
r10311 | venekamp | 2007-08-22 14:42:18 +0200 (Wed, 22 Aug 2007) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Close the glexec log file before execv() the child, the child has no use
for the log file.

------------------------------------------------------------------------
r10310 | venekamp | 2007-08-22 11:09:24 +0200 (Wed, 22 Aug 2007) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Made the user_white_list accept '*' as a selector for any user.
o  Fix bug in printing the user and system times in the log file. The
   times were reported for glexec and not the children is has spawned.

------------------------------------------------------------------------
r10298 | venekamp | 2007-08-07 10:03:24 +0200 (Tue, 07 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

bump to the next version

------------------------------------------------------------------------
r10292 | venekamp | 2007-08-03 14:58:20 +0200 (Fri, 03 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/etc/logrotate.d/glexec

Slightly update logrotate

------------------------------------------------------------------------
r10291 | venekamp | 2007-08-03 14:47:02 +0200 (Fri, 03 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/etc/logrotate.d/glexec

dayly -> daily

------------------------------------------------------------------------
r10290 | venekamp | 2007-08-03 14:01:05 +0200 (Fri, 03 Aug 2007) | 2 lines
Changed paths:
   A /trunk/glexec/etc
   A /trunk/glexec/etc/logrotate.d
   A /trunk/glexec/etc/logrotate.d/glexec

Added config file for lograte.

------------------------------------------------------------------------
r10289 | venekamp | 2007-08-03 12:46:50 +0200 (Fri, 03 Aug 2007) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

Buf fix: Valgrind reported on uninitialised value, forgotten return 0 added

------------------------------------------------------------------------
r10288 | venekamp | 2007-08-03 12:34:10 +0200 (Fri, 03 Aug 2007) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Bug fix: The second to last item of a linked list was returned instead
            of the last one.
o  Buf fix: The wait() call when glexec had forked was not correctly called
            and glexec now returns the exis code in the log file. Thanks
            David Groep for spotting it.

------------------------------------------------------------------------
r10263 | venekamp | 2007-08-02 14:01:28 +0200 (Thu, 02 Aug 2007) | 11 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

o  Fixed all, but one memory leak causes by glexec. The one remaining has
   to do with the allocation for the environment for glexec and I'm not
   sure it is safe to free that. This is in code from Andrew's gsexec.
o  Fixed all illeagal memory read/writes.
o  An illegal free() remains in glexec, although is does not seem to be
   the fault of glexec. It looks like it stems from linking to globus for
   now, more investication is needed!
o  Switched to use the reentrant functions for getpwnam() and simular and
   as a consequence used one single buffer to store all related strings
   for a particular cached item.

------------------------------------------------------------------------
r10255 | venekamp | 2007-07-24 13:23:47 +0200 (Tue, 24 Jul 2007) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Fixed off-by-one error. Yeah valgrid!

------------------------------------------------------------------------
r10253 | venekamp | 2007-07-20 16:21:24 +0200 (Fri, 20 Jul 2007) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Removed some dead code because of the previous patch.

------------------------------------------------------------------------
r10252 | venekamp | 2007-07-20 14:28:49 +0200 (Fri, 20 Jul 2007) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Added caching for the rather expensive getpwnam(), getpwuid(),
   getgrnam() and getgrgid() functions. This was especially expensive for
   LDAP based systems. As a bonus of this implementation, the returned
   pointer to the structure keep being valid if the caching functions are
   called as opposed to the system calls.

   TODO: reclaim the allocated memory by the caching functions.

------------------------------------------------------------------------
r10251 | venekamp | 2007-07-19 14:28:37 +0200 (Thu, 19 Jul 2007) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  fix for bug #27672

------------------------------------------------------------------------
r10250 | venekamp | 2007-07-18 16:32:03 +0200 (Wed, 18 Jul 2007) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  The liger keyword was wrongly interpreted (yes meant no, no meant yes).
   Interpretation is correct now.

------------------------------------------------------------------------
r10249 | venekamp | 2007-07-18 16:26:05 +0200 (Wed, 18 Jul 2007) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Removed some silly printf statements...

------------------------------------------------------------------------
r10248 | venekamp | 2007-07-18 16:05:47 +0200 (Wed, 18 Jul 2007) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Fix a few remaining bug in the proxy copy code.
o  Corrected return type for a few functions.
o  Removed some code which has become unnecessary due to the change in the
   way proxies are copied.

------------------------------------------------------------------------
r10247 | venekamp | 2007-07-16 14:51:51 +0200 (Mon, 16 Jul 2007) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Rewrote the copying of the proxy since there was a race condition
   in the old code.
o  Changed the logging facility to be more inline with the recommended
   standard.

------------------------------------------------------------------------
r10228 | venekamp | 2007-07-05 14:21:20 +0200 (Thu, 05 Jul 2007) | 3 lines
Changed paths:
   M /trunk/glexec/runautotools

o  Get the right path from the .etics.config file anf postfix it with the
   correct location.

------------------------------------------------------------------------
r10224 | venekamp | 2007-07-05 10:01:48 +0200 (Thu, 05 Jul 2007) | 4 lines
Changed paths:
   M /trunk/glexec/runautotools

o  runautotools did play well with a central repository. It takes the
   location as specified in the ~/.etics.config file into consideration
   as well.

------------------------------------------------------------------------
r10219 | okoeroo | 2007-07-03 14:35:09 +0200 (Tue, 03 Jul 2007) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

Bumped age from 0 to 1

------------------------------------------------------------------------
r10154 | venekamp | 2007-04-20 16:25:23 +0200 (Fri, 20 Apr 2007) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Cleaned up some memory leaks and fixed minor bugs.

------------------------------------------------------------------------
r10140 | venekamp | 2007-04-16 14:55:52 +0200 (Mon, 16 Apr 2007) | 3 lines
Changed paths:
   M /trunk/glexec/runautotools

o  Adapted the runautotools script to work in both the ETICS and ant
   environments.

------------------------------------------------------------------------
r10133 | venekamp | 2007-04-12 16:35:19 +0200 (Thu, 12 Apr 2007) | 9 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/runautotools
   M /trunk/glexec/src/glexec.c

o  Added yet anothor entry to the glexec configuration file: linger. It
   tells glexec to linger, i.e. user fork() and exec() to start the real
   user job, or don't linger and only user exec() to start the real user
   job.
o  Changed the interpertation of poolaccount entries in user_white_list.
   pool* is now correctly interpreted, i.e. '*' matches numbers only. In
   addition the syntax for poolaccounts in gridmap files is adopted, so
   .pool is equivelant to pool*

------------------------------------------------------------------------
r10094 | okoeroo | 2007-03-12 10:31:52 +0100 (Mon, 12 Mar 2007) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumped version

------------------------------------------------------------------------
r10093 | okoeroo | 2007-03-12 10:31:06 +0100 (Mon, 12 Mar 2007) | 5 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.h

Kicked last remaining includes from the Apache devel package.
Glexec is now able to build without it.

This could cause a build problem on any system that doesn't have Apache installed in /usr/include/

------------------------------------------------------------------------
r10013 | venekamp | 2006-10-25 13:33:49 +0200 (Wed, 25 Oct 2006) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Changed the prefix of log messages to the proposed format:
     <exec name>[<pid>]: YYYYMMDDTHHMMSSZ <msg>

------------------------------------------------------------------------
r10011 | venekamp | 2006-10-24 12:51:44 +0200 (Tue, 24 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

o  Substituted remaining numrical log level for symbolic names.

------------------------------------------------------------------------
r9997 | okoeroo | 2006-10-24 10:47:13 +0200 (Tue, 24 Oct 2006) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Proven to be a perfect version (by me...)

*bumped version*
ready for tagging

------------------------------------------------------------------------
r9996 | venekamp | 2006-10-24 10:33:37 +0200 (Tue, 24 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

o  Forgotten include file.

------------------------------------------------------------------------
r9995 | venekamp | 2006-10-24 10:23:08 +0200 (Tue, 24 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

o  Changed log level numerical to proper symbolic names.
o  Assigned a few log messages better log level.
o  Made sure that the error message on stderr is printed only once.

------------------------------------------------------------------------
r9993 | venekamp | 2006-10-23 19:37:57 +0200 (Mon, 23 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o  Ready for tagging.

------------------------------------------------------------------------
r9992 | venekamp | 2006-10-23 19:33:53 +0200 (Mon, 23 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Forgot to remove cvs conflict markers...

------------------------------------------------------------------------
r9991 | venekamp | 2006-10-23 19:31:15 +0200 (Mon, 23 Oct 2006) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Reversed or changed some of the previous changes.
o  Introduced a new glexec config entry silent_logging. It takes yes or
   no as its value and is disables/enables (default) the printing of a
   warning message on stderr when glexec encounters an error.
o  Made sure that a null string is never logged. This removes the error
   warning on stderr while in fact no error has occured.

------------------------------------------------------------------------
r9989 | okoeroo | 2006-10-20 14:56:17 +0200 (Fri, 20 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Forgot to bump the version, here goes... *bump*

------------------------------------------------------------------------
r9988 | okoeroo | 2006-10-20 14:55:28 +0200 (Fri, 20 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Fixed a few error messages to be on the right error level.

This version will be the new tag.

------------------------------------------------------------------------
r9987 | venekamp | 2006-10-19 22:30:14 +0200 (Thu, 19 Oct 2006) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Extended loggin messages and start using log levels in a coherent
   manner. Also changed the formatting of some of the messages.

------------------------------------------------------------------------
r9986 | venekamp | 2006-10-16 14:54:38 +0200 (Mon, 16 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Removed two bug hunting printf's.

------------------------------------------------------------------------
r9985 | venekamp | 2006-10-16 14:48:18 +0200 (Mon, 16 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Fixed GLEXEC_CLIENT_CERT problem. Allocated a pointer instead of
   stricture for holding stat info :-( This trashed the stack and it
   affected the argv[] list causing glexec to execute a strange executable.

------------------------------------------------------------------------
r9983 | venekamp | 2006-10-16 14:37:38 +0200 (Mon, 16 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Attempt to get GLEXEC_CLIENT_CERT into shape (does not work yet!).

------------------------------------------------------------------------
r9981 | okoeroo | 2006-10-13 16:48:47 +0200 (Fri, 13 Oct 2006) | 7 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumped version

Option -V doesn't work in this version.
Big refactor of all logging mechanisms in glexec. Mostly silenced log messages. Configurable in the glexec.conf using the "log_level = <int 1-5>" name/value in the [glexec] section.

Glexec does a fork/wait now, so it appears in the process tree.

------------------------------------------------------------------------
r9980 | venekamp | 2006-10-13 16:39:06 +0200 (Fri, 13 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Make sure that nothing gets logged with root privileges. This opens the
   log file with correct privileges and does not cause file open problems
   when loggen is done with lowerd privileges.

------------------------------------------------------------------------
r9979 | venekamp | 2006-10-13 16:10:33 +0200 (Fri, 13 Oct 2006) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Made glexec fork and exec instead of exec only.
o  glexec reports on the real user and sys times.

------------------------------------------------------------------------
r9978 | venekamp | 2006-10-13 11:30:03 +0200 (Fri, 13 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

o  Added check to make sure both SSL_CLIENT_CERT and GLEXEC_CLIENT_CERT are
   not defined.
o  Converted all log messages to new logging style.

------------------------------------------------------------------------
r9977 | venekamp | 2006-10-13 10:04:35 +0200 (Fri, 13 Oct 2006) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Make the debug messages write to the log file instead of stdout.
o  Removed two functions, which were a leftover of gsexec, that dumped a
   small HTML page in case  of an error.
o  Some slight changes to log messages to make them better readable.
o  Better checking for empty SSL_CLIENT_CERT otherwise glexec might crash.
o  First beginnings of the new logging function with support for prioity
   levels.

------------------------------------------------------------------------
r9967 | okoeroo | 2006-10-05 15:36:45 +0200 (Thu, 05 Oct 2006) | 4 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c

In this version I've kicked all the noisy comments from the stderr and stdout regarding the glexec operations.

The CREAM development gained big problems with our verbosity on the CLI.

------------------------------------------------------------------------
r9958 | okoeroo | 2006-10-03 12:46:25 +0200 (Tue, 03 Oct 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Bumped version.

------------------------------------------------------------------------
r9957 | okoeroo | 2006-10-03 12:44:35 +0200 (Tue, 03 Oct 2006) | 11 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c

Moved all the 'printf (...)' commands to 'fprintf (stderr, ...)' commands
because on the CLI glexec will write all kinds of overly verbose debug/development information to stdout.

The next release should support loglevelling (set through the glexec.conf file) and perhaps also create simple to the point log information.


Note to all developers that read these messages:
  - all log information should be usefull in a production mode system especially when the 'verbose' switch is activated.
  - perform a logging audit of your code or try to rethink what your about to log before you write the log message at a certain level
  - Yes, we'll also be doing this in our code too. I usually also talk to myself in the second person when I talk about such things.

------------------------------------------------------------------------
r9955 | venekamp | 2006-09-28 16:14:27 +0200 (Thu, 28 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o  Bumped version number to 0.5.12

------------------------------------------------------------------------
r9954 | venekamp | 2006-09-28 15:59:24 +0200 (Thu, 28 Sep 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Glexec did not repect the settings for perserve_vars in the config
   file. Those environment variables were still cleared from the
   environment. This should be fixed now.

------------------------------------------------------------------------
r9948 | venekamp | 2006-09-21 11:28:37 +0200 (Thu, 21 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

o  New version ready to be tagged.

------------------------------------------------------------------------
r9947 | venekamp | 2006-09-21 10:41:56 +0200 (Thu, 21 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.h

o  Moved defines around again. Now is compiles (big oops!)

------------------------------------------------------------------------
r9946 | venekamp | 2006-09-21 10:28:59 +0200 (Thu, 21 Sep 2006) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.h

o  Removed a define in the glexec_conf.c file. It was not the correct
   laction and worse, it defined a wrong location
o  Moved a define from glexec_conf.c to glexec.h and extended the -V
   option to glexec to display its value.

------------------------------------------------------------------------
r9945 | venekamp | 2006-09-20 13:24:31 +0200 (Wed, 20 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Completed copyright notice.

------------------------------------------------------------------------
r9944 | venekamp | 2006-09-19 15:12:24 +0200 (Tue, 19 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Unstable version. Do not use this one.

------------------------------------------------------------------------
r9943 | venekamp | 2006-09-19 14:40:05 +0200 (Tue, 19 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec_conf.c

o  Corrected GLEXEC_CONFIG_FILE path

------------------------------------------------------------------------
r9942 | venekamp | 2006-09-19 14:39:13 +0200 (Tue, 19 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.h

o  Added extra method (GLEXEC_CLIENT_CERT) to get user proxies.

------------------------------------------------------------------------
r9930 | venekamp | 2006-09-14 11:03:03 +0200 (Thu, 14 Sep 2006) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  When the user_white_list entry in the glexec configuration exists,
   do not check if the group ID of glexec is apache. When no such entry
   exists, keep the old behaviour and check if the group id matches
   apache and stop if it is not the case.
o  Added function to the config part of glexec to check if a certain
   key exist or not.

------------------------------------------------------------------------
r9928 | venekamp | 2006-09-13 16:19:05 +0200 (Wed, 13 Sep 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/configure.properties.xml
   M /trunk/glexec/project/properties.xml
   M /trunk/glexec/project/version.properties
   A /trunk/glexec/runautotools

o  New tag version

------------------------------------------------------------------------
r9927 | venekamp | 2006-09-13 15:59:38 +0200 (Wed, 13 Sep 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Reversed some code to make it work again.
o  Fix bug in generating a list from a comma separated list. Commas were
   copied too while this should not be the case.

------------------------------------------------------------------------
r9926 | venekamp | 2006-09-13 12:42:19 +0200 (Wed, 13 Sep 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Removed apache dependency.
o  Reomved some free()s which caused core dumps at the expence of memory
   leaks.

------------------------------------------------------------------------
r9920 | venekamp | 2006-08-29 16:11:18 +0200 (Tue, 29 Aug 2006) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  First beginnings of a more centralised real, effective, saved uids and
   gids. It is intended that the reps. uid, gids and their passwd and
   group struct are detemined once and then saved for latter use when
   necessary.

------------------------------------------------------------------------
r9917 | venekamp | 2006-08-24 15:55:12 +0200 (Thu, 24 Aug 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/src/glexec_conf.c
   M /trunk/glexec/src/glexec_conf.h

o  Added license and copyright notices.

------------------------------------------------------------------------
r9914 | okoeroo | 2006-08-23 16:13:27 +0200 (Wed, 23 Aug 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

bumped version due to the bug fixes noted in the previous check in to version 0.5.9

------------------------------------------------------------------------
r9913 | okoeroo | 2006-08-23 16:12:09 +0200 (Wed, 23 Aug 2006) | 5 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   A /trunk/glexec/src/glexec_conf.c
   A /trunk/glexec/src/glexec_conf.h

Added two needed files into the CVS to beable to work with the configuration file.

Made a few changes to the glexec code with regards to secundary GIDs.
It were basicly bugs that we didn't discover yet.

------------------------------------------------------------------------
r9892 | venekamp | 2006-08-16 16:43:36 +0200 (Wed, 16 Aug 2006) | 2 lines
Changed paths:
   A /trunk/glexec/Doxyfile

o  Added Doxygen configuration file

------------------------------------------------------------------------
r9891 | venekamp | 2006-08-16 16:43:06 +0200 (Wed, 16 Aug 2006) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Added Doxygen comments.

------------------------------------------------------------------------
r9886 | venekamp | 2006-08-14 15:04:35 +0200 (Mon, 14 Aug 2006) | 5 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Added configuration file for glexec. New features supported in the
   config file are:
   1 - user white listing; allow only those listed;
   2 - keep listed environment variables.

------------------------------------------------------------------------
r9872 | okoeroo | 2006-07-03 15:41:34 +0200 (Mon, 03 Jul 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Tested $HOME functionality

------------------------------------------------------------------------
r9871 | venekamp | 2006-07-03 09:40:45 +0200 (Mon, 03 Jul 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c

o  Made a few error messages more meaningful.

------------------------------------------------------------------------
r9869 | venekamp | 2006-06-15 13:37:46 +0200 (Thu, 15 Jun 2006) | 3 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am

o  Removed glexec_conf.[ch] from Makefile.am to make glexec build again
   on clean systems.

------------------------------------------------------------------------
r9868 | venekamp | 2006-06-15 12:37:43 +0200 (Thu, 15 Jun 2006) | 5 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c

o  Set the HOME environment variable when using GLEXEC_MODE is set to
   lcmaps_get_account.
   Note: when lcmaps_verify_account is used instead, HOME is not set.
         It makes no sence since not all resources are allacated yet.

------------------------------------------------------------------------
r9862 | okoeroo | 2006-05-17 11:29:58 +0200 (Wed, 17 May 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

Synced with tag name/number by bumping to version 0.5.3

------------------------------------------------------------------------
r9861 | okoeroo | 2006-05-17 11:28:57 +0200 (Wed, 17 May 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

bumped version to 0.5.1

------------------------------------------------------------------------
r9860 | okoeroo | 2006-05-17 11:28:17 +0200 (Wed, 17 May 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Wrong secundary groupnumbering for loop condition fixed

------------------------------------------------------------------------
r9817 | okoeroo | 2006-04-28 14:17:26 +0200 (Fri, 28 Apr 2006) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Added support for the invocation of the Secundary Group IDs.
LCMAPS returned the SGIDs to glexec, but didn't (yet) get set in the proces.
Now they are. It possible needs more testing, but it compiles and seems to work.

------------------------------------------------------------------------
r9570 | venekamp | 2006-03-01 14:35:59 +0100 (Wed, 01 Mar 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Corrected off-by-one error in dermining the length of an rsl string.

------------------------------------------------------------------------
r9471 | venekamp | 2006-02-23 14:03:00 +0100 (Thu, 23 Feb 2006) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Bug fix: preserve the umask of a process. (forgot ot commit)

------------------------------------------------------------------------
r9333 | msteenba | 2006-02-14 17:17:28 +0100 (Tue, 14 Feb 2006) | 2 lines
Changed paths:
   M /trunk/glexec/project/version.properties

add newline

------------------------------------------------------------------------
r9332 | msteenba | 2006-02-14 17:15:39 +0100 (Tue, 14 Feb 2006) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/version.properties

set version to 0.5.0

------------------------------------------------------------------------
r8052 | msteenba | 2005-12-21 11:51:54 +0100 (Wed, 21 Dec 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

check for return value of getpwnam(), getgrnam() as sometimes uids are passed
instead of usernames

------------------------------------------------------------------------
r7929 | venekamp | 2005-12-13 13:40:00 +0100 (Tue, 13 Dec 2005) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Increase rsl buffer from 200 characters to 400.
o  Updated regular expression to allow log level 0 again.
o  Very early stage of config file.

------------------------------------------------------------------------
r7737 | venekamp | 2005-12-06 12:51:53 +0100 (Tue, 06 Dec 2005) | 8 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Before certain environment variables are set, a check is performed to
determine if the environment has already been set. If so, the value is
matched against a regular expression for minimal senity.

NOTE: not all regular expressions are correct yet, i.e. they accept a
      string while it should be rejected. This is okay for now as it
      accepts more than it is supposed to do.

------------------------------------------------------------------------
r7676 | venekamp | 2005-12-02 16:13:31 +0100 (Fri, 02 Dec 2005) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/test/glex.c

Do some checks on the directory where .glexec is created and the directory
where the proxy is copied to. These checks check for proper ownership and
permissions.

------------------------------------------------------------------------
r7643 | venekamp | 2005-11-30 15:37:53 +0100 (Wed, 30 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/test/glex.c

Copy the proxy to the correct location when GLEXEC_TARGET_PROXY has not
been set.

------------------------------------------------------------------------
r7642 | msteenba | 2005-11-30 14:32:35 +0100 (Wed, 30 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

switched off check of matching gid of cwd with mapped user, calling user or root.

------------------------------------------------------------------------
r7626 | venekamp | 2005-11-29 09:45:57 +0100 (Tue, 29 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Corrected searching for a matching group loop.

------------------------------------------------------------------------
r7611 | venekamp | 2005-11-28 16:46:37 +0100 (Mon, 28 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Corrected  bug in group lookup code.
o  Fixed a few warnings.

------------------------------------------------------------------------
r7610 | venekamp | 2005-11-28 16:34:43 +0100 (Mon, 28 Nov 2005) | 6 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Moved the code for chown-ing the proxy after copying it. Code for
   chown-ing the copies proxy is present, but at the wrong place.  It was
   placed right after the execl call (duh!). It is moved to be within the
   execution path.
o  Changed group lookup. Now the getgroups() is used.

------------------------------------------------------------------------
r7609 | msteenba | 2005-11-28 13:13:37 +0100 (Mon, 28 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

redo the -Wall changes

------------------------------------------------------------------------
r7565 | venekamp | 2005-11-25 15:42:02 +0100 (Fri, 25 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  better checking for group membership.

------------------------------------------------------------------------
r7564 | venekamp | 2005-11-25 14:27:12 +0100 (Fri, 25 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Make glexec_copy_proxt return GLEXEC_SUCCESS instead of GLEXEC_OKAY

------------------------------------------------------------------------
r7563 | venekamp | 2005-11-25 14:26:21 +0100 (Fri, 25 Nov 2005) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  When the GLEXEC_SOURCE_PROXY is not specified, the process of copying
   the process is aborted. glexec will continue without having copied the
   proxy.

------------------------------------------------------------------------
r7562 | venekamp | 2005-11-25 14:23:53 +0100 (Fri, 25 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Disabled code for checking diffrent targat name/group from the
   name/group of the cwd and program.

------------------------------------------------------------------------
r7547 | venekamp | 2005-11-24 15:55:31 +0100 (Thu, 24 Nov 2005) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/test/glex.c

o  Put arguments in rsl string as well. There is nolonger a restriction on
   the number of arguments passed on.
o  Change the current directory to the home directory of the target user.

------------------------------------------------------------------------
r7545 | msteenba | 2005-11-24 12:44:52 +0100 (Thu, 24 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec_fork.c

initialize variables and some more "-Wall" fixes

------------------------------------------------------------------------
r7529 | msteenba | 2005-11-23 19:34:12 +0100 (Wed, 23 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/test/set_lcaslcmaps.pl

- added lcmaps_verify_proxy.mod to test.lcmaps.db
- allow more executables

------------------------------------------------------------------------
r7524 | msteenba | 2005-11-23 18:47:13 +0100 (Wed, 23 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

- initialized mapcounter to safe setting
- allow commandline arguments

------------------------------------------------------------------------
r7508 | venekamp | 2005-11-23 13:19:22 +0100 (Wed, 23 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

o  Removed userid check. Now any user can execute glexec, but it needs
   to be part of the apache group.

------------------------------------------------------------------------
r7507 | venekamp | 2005-11-23 09:01:48 +0100 (Wed, 23 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

Some code cleanups.

------------------------------------------------------------------------
r7492 | msteenba | 2005-11-22 18:26:26 +0100 (Tue, 22 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/test/glex.c

Checking in Gerben's changes: first get_account, then verify_account

------------------------------------------------------------------------
r7491 | msteenba | 2005-11-22 18:21:13 +0100 (Tue, 22 Nov 2005) | 7 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

- Use correct pointer to args
- Moved invocation of LCAS and LCMAPS
- In get_account mode: actually use the account info returned by LCMAPS
- To be done:
  1. allow arguments to be passed to command
  2. cd to user home directory

------------------------------------------------------------------------
r7469 | venekamp | 2005-11-21 16:54:24 +0100 (Mon, 21 Nov 2005) | 4 lines
Changed paths:
   M /trunk/glexec/src/glexec.c

- adjusted RL generation
- corrected lcas_pem() invocation
- set lcas request

------------------------------------------------------------------------
r7377 | venekamp | 2005-11-15 16:42:19 +0100 (Tue, 15 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

- user proper enviroment variables
- use return values of LCAS and LCMAPS correctly

------------------------------------------------------------------------
r7376 | venekamp | 2005-11-15 16:41:07 +0100 (Tue, 15 Nov 2005) | 3 lines
Changed paths:
   M /trunk/glexec/test/glex.c
   M /trunk/glexec/test/glex.h
   A /trunk/glexec/test/set_lcaslcmaps.pl

- added VERY NICE script to create lcmaps and lcas config files
- fixed some serious bugs

------------------------------------------------------------------------
r7359 | msteenba | 2005-11-14 13:13:41 +0100 (Mon, 14 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/configure.ac
   M /trunk/glexec/project/configure.properties.xml
   M /trunk/glexec/project/properties.xml

forgot to check in these changes, needed for the callout to LCAS

------------------------------------------------------------------------
r7315 | venekamp | 2005-11-11 09:14:45 +0100 (Fri, 11 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h

o  Added callout to LCAS.

------------------------------------------------------------------------
r7276 | venekamp | 2005-11-09 13:41:52 +0100 (Wed, 09 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c

o  Added some missing functionallity.

------------------------------------------------------------------------
r7258 | venekamp | 2005-11-08 16:34:17 +0100 (Tue, 08 Nov 2005) | 2 lines
Changed paths:
   M /trunk/glexec/project/build.properties
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   M /trunk/glexec/test/Makefile.am
   M /trunk/glexec/test/glex.c

o  75% functional glexec component.

------------------------------------------------------------------------
r7039 | venekamp | 2005-10-24 16:30:03 +0200 (Mon, 24 Oct 2005) | 3 lines
Changed paths:
   A /trunk/glexec/test/Makefile.am

o  Forgot to add Makefile.am. This causes the build on the buildmachine to
   fail.

------------------------------------------------------------------------
r6993 | venekamp | 2005-10-21 14:28:19 +0200 (Fri, 21 Oct 2005) | 2 lines
Changed paths:
   M /trunk/glexec/Makefile.am
   M /trunk/glexec/configure.ac
   M /trunk/glexec/src/Makefile.am
   M /trunk/glexec/src/glexec.c
   M /trunk/glexec/src/glexec.h
   A /trunk/glexec/src/glexec_fork.c
   A /trunk/glexec/src/glexec_fork.h
   A /trunk/glexec/test
   A /trunk/glexec/test/glex.c
   A /trunk/glexec/test/glex.h

o  First version of the glexec component.

------------------------------------------------------------------------
r6877 | glbuild | 2005-10-15 02:50:07 +0200 (Sat, 15 Oct 2005) | 2 lines
Changed paths:
   M /branches/glite-security-lcmaps-interface_branch_1_2_0_RC1/lcmaps-interface/project/build.number
   M /branches/glite-security-lcmaps_branch_1_2_0_RC1/lcmaps/project/build.number
   M /trunk/glexec/project/build.number

Incremented build number [GLBUILDER]

------------------------------------------------------------------------
r6858 | glbuild | 2005-10-14 08:38:03 +0200 (Fri, 14 Oct 2005) | 2 lines
Changed paths:
   M /branches/glite-security-lcmaps-interface_branch_1_2_0_RC1/lcmaps-interface/project/build.number
   M /branches/glite-security-lcmaps_branch_1_2_0_RC1/lcmaps/project/build.number
   M /trunk/glexec/project/build.number

Incremented build number [GLBUILDER]

------------------------------------------------------------------------
r6848 | glbuild | 2005-10-13 01:28:39 +0200 (Thu, 13 Oct 2005) | 2 lines
Changed paths:
   M /trunk/glexec/project/build.number

Incremented build number [GLBUILDER]

------------------------------------------------------------------------
r6630 | venekamp | 2005-09-23 15:01:35 +0200 (Fri, 23 Sep 2005) | 2 lines
Changed paths:
   M /trunk/glexec/project/configure.properties.xml
   M /trunk/glexec/src/Makefile.am

use lcmaps

------------------------------------------------------------------------
r6629 | venekamp | 2005-09-23 14:28:08 +0200 (Fri, 23 Sep 2005) | 2 lines
Changed paths:
   A /trunk/glexec
   A /trunk/glexec/LICENSE
   A /trunk/glexec/Makefile.am
   A /trunk/glexec/bootstrap
   A /trunk/glexec/build.xml
   A /trunk/glexec/configure.ac
   A /trunk/glexec/project
   A /trunk/glexec/project/build.number
   A /trunk/glexec/project/build.properties
   A /trunk/glexec/project/configure.properties.xml
   A /trunk/glexec/project/properties.xml
   A /trunk/glexec/project/version.properties
   A /trunk/glexec/src
   A /trunk/glexec/src/Makefile.am
   A /trunk/glexec/src/glexec.c
   A /trunk/glexec/src/glexec.h
   A /trunk/glexec/src/glexec_config.h.in

o  Initial version glexec.

------------------------------------------------------------------------
