preliminary implementation of fuse symlink (not tested)

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5539 ea137bd6-aa86-47b6-b90d-b101d9f19a90
fuse symlink support with prelimiary testing

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5540 ea137bd6-aa86-47b6-b90d-b101d9f19a90
fix parameter i/o checking.

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5541 ea137bd6-aa86-47b6-b90d-b101d9f19a90
update to work with newer version of libcurl, remove inclusion of types.h

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5542 ea137bd6-aa86-47b6-b90d-b101d9f19a90
add inclusion of types.h back in, with and #ifdef that checks for older version of libcurl

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5543 ea137bd6-aa86-47b6-b90d-b101d9f19a90
add in a comment

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5544 ea137bd6-aa86-47b6-b90d-b101d9f19a90
add simple json parsing microservices, requires jansson

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5545 ea137bd6-aa86-47b6-b90d-b101d9f19a90
add json microservices for object_get, array_size, array_get, string_value, and integer_value, requires jansson

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5546 ea137bd6-aa86-47b6-b90d-b101d9f19a90
fix compiler errors

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5547 ea137bd6-aa86-47b6-b90d-b101d9f19a90
Update acPreProcForExecCmd to include args, addr, and hint, in existing 3.3 deployment, core.re needs to be updated to work with this update.

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5548 ea137bd6-aa86-47b6-b90d-b101d9f19a90
fix const char * to char * conversion

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5549 ea137bd6-aa86-47b6-b90d-b101d9f19a90
Implement logic to handle more than a preset limit (40) temporary
passwords for a given user at one time.  This was an unexpected use
case (these only are valid for 2 minutes are are removed when used)
but was a problem for iPlant recently.

A second related problem was that once this occurred the logic to
clean up (remove all expired temporary passwords) was not triggered.
The reason for that is that the logic doesn't 'know' the password is a
temporary one until a later step and the code avoids the overhead of
the SQL that checks all password times.  The code removes all expired
temporary passwords when a temporary password succeeds.

To fix this the function now retires in this case.  It initially
operates as before (to be particularly safe), but if the first set of
passwords has been processed and if it has not yet succeeded matching
a password, it will try again, sorting the passwords by modify-time,
starting at 0, and using the last time of the last password as the
starting point if it needs to repeat.  For the case when more than the
limit (40) passwords were created in one secord, if it happens, it
will add one to the current second for the next batch (this might miss
some passwords, but will prevent an infinite loop, and it should all
get cleaned up over time).

This commit also includes additions to icatTest.pl (run as part of
'devtest') to exercise this new SQL.  Since there's a new SQL command,
there's a new rodsLog(LOG_SQL call:
if (logSQL!=0) rodsLog(LOG_SQL, "chlCheckAuth SQL 8 ");
and so the way 'devtest' operates, it must be tested to succeed.

icatTest.pl also makes sure that SQL and related logic works properly
by confirming that the last temporary password can be successfully
used.  This adds about 15 seconds to 'devtest', most of which is to
create 42 temporary passwords.  See the script for more.

The change to icatMidLeverRoutines.c is to add another argument to a
support function, an additional bind variable was needed.



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5550 ea137bd6-aa86-47b6-b90d-b101d9f19a90
Changes to imeta so it will not exit with 0 when the user asks for
metadata of a non-existent object.  Also, fix bugs in some cases where
the code is determining if the object exists or not.

For the 5 types of objects handled, data-objects, collections,
resources, users and resource groups, imeta will now exit with a
non-success value (non 0) if the user requested listing the AVUs of an
object that does not exist.  Previously it would print either, "None"
or that it does not exist but in both cases would exit with 0.  Now,
in the 'does not exist' case, it will exit with a non-0 value.

In testing this, I noticed that there are cases where the code was not
properly differentiating between 'none' and 'does not exist'.  This
was only the cases where the user was requesting a particular
Attribute to be listed, for example, 'imeta ls -d foo attribute1', as
the code was not resetting a rcGenQuery input length value and so the
second query was not properly formed, so it could say it does not
exist when it did.  This too has been fixed, for all 5 object types.

As part of this commit I also updated icatTest.pl (part of devtest) to
check this differentiation.  It's easy now that the exit codes are
different.  I didn't need to change the test for a non-existant
attribute names ('imeta ls -d $F1 badName') because that case still
exits with 0 (the $F1 data object does exist).

This imeta change was one of a set of requests by Peter Clapham of
Sanger.  This one was easy to implement and could be considered a bug
so I was able to complete it now.  They requested this for data
objects and collecions, but I went ahead and implemented the same for
all five types.



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5551 ea137bd6-aa86-47b6-b90d-b101d9f19a90
Changes to iquest so it will exit with 0 (success) when the user's
query results in no rows (but is otherwise OK).  Also changed the
message printed and added some tests for this.

I expect this change will not cause problems (for users, scripts,
etc), so I simply made it operate in this new manner by default,
without a command-line option for it.

This was one of a set of recent requests by Peter Clapham of Sanger.



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5552 ea137bd6-aa86-47b6-b90d-b101d9f19a90
A fix for building with GSI on Mac OSX, don't try to use -z muldefs on
the ld line.

The -z muldefs is not supported for the loader (ld) on OSX, so we need
to not add it when adjusting the loader line when GSI is enabled.  We
use to add -z muldefs for all but AIX OSes; so now it's for all but
AIX and OSX.

Our platform.mk.template (which is used to create platform.mk, which
is used in 'make') has been like this for GSI for some time, so I'm
not sure if no one used GSI on OSX or just worked around the problem,
or what.

Thanks to Peter Danecek of the National Institute of Geophysics and
Volcanology (INGV) of Italy for this fix.



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5553 ea137bd6-aa86-47b6-b90d-b101d9f19a90