Commit f5d4d05b authored by Oxana Smirnova's avatar Oxana Smirnova
Browse files

Merge branch 'next' of https://source.coderefinery.org/nordugrid/arc into next

parents 5393b754 9481d9df
Pipeline #9591 passed with stage
in 39 minutes and 23 seconds
......@@ -14,10 +14,15 @@
* [ ] Add version to NorduGrid Bugzilla products (@waananen)
* [ ] Publish release notes on web (@oxana)
* [ ] Announce release on nordugrid-discuss, wlcg-arc-ce-discuss and urt-discuss@mailman.egi.eu email lists (@maikenp)
* [ ] Push packages to the repo (@waananen)
* [ ] Update News about release: http://www.nordugrid.org/ (@oxana)
* [ ] Update link to latest release: http://www.nordugrid.org/arc/ (@oxana)
* [ ] Push packages to the repo (@waananen)
Important checks for developer
* Will your changes impact performance? Action: test and fix.
* Will your changes be backwards incompatible? Action: only merge into next branch - or bring up issue in a meeting/chat with release manager.
* ...
Important bugs/changes to clear before code-freeze:
* [ ] ...
......
......@@ -410,11 +410,11 @@ if test "$enables_python" = "yes"; then
AC_SUBST(PYTHON_LIBS)
if test "${build}" = "${host}"; then
PYTHON_SOABI=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_config_vars().get('SOABI'))" | sed s/None//`
PYTHON_EXT_SUFFIX=`$PYTHON -c "from distutils import sysconfig; v = sysconfig.get_config_vars(); print(v.get('EXT_SUFFIX', v.get('SO')))" | sed s/None//`
else
PYTHON_SOABI=""
PYTHON_EXT_SUFFIX=""
fi
AC_SUBST(PYTHON_SOABI)
AC_SUBST(PYTHON_EXT_SUFFIX)
AC_ARG_WITH(python-site-arch, AC_HELP_STRING([--with-python-site-arch=directory], [Direcory where Python modules will be installed - defaults is to query the Python binary]))
if test "X$PYTHON_SITE_ARCH" = "X"; then
......@@ -548,8 +548,8 @@ if test "$enables_altpython" = "yes"; then
AC_SUBST(ALTPYTHON_CFLAGS)
AC_SUBST(ALTPYTHON_LIBS)
ALTPYTHON_SOABI=`$ALTPYTHON -c "from distutils import sysconfig; print(sysconfig.get_config_vars().get('SOABI'))" | sed s/None//`
AC_SUBST(ALTPYTHON_SOABI)
ALTPYTHON_EXT_SUFFIX=`$ALTPYTHON -c "from distutils import sysconfig; v = sysconfig.get_config_vars(); print(v.get('EXT_SUFFIX', v.get('SO')))" | sed s/None//`
AC_SUBST(ALTPYTHON_EXT_SUFFIX)
AC_ARG_WITH(altpython-site-arch, AC_HELP_STRING([--with-altpython-site-arch=directory], [Direcory where Python modules will be installed - defaults is to query the Python binary]))
if test "X$ALTPYTHON_SITE_ARCH" = "X"; then
......
This diff is collapsed.
This diff is collapsed.
......@@ -8,7 +8,7 @@ PYTHON_PLATFORM = @ALTPYTHON_PLATFORM@
PYTHON_PREFIX = @ALTPYTHON_PREFIX@
PYTHON_SITE_ARCH = @ALTPYTHON_SITE_ARCH@
PYTHON_SITE_LIB = @ALTPYTHON_SITE_LIB@
PYTHON_SOABI = @ALTPYTHON_SOABI@
PYTHON_EXT_SUFFIX = @ALTPYTHON_EXT_SUFFIX@
PYTHON_VERSION = @ALTPYTHON_VERSION@
if ALTPYTHON3
......
......@@ -128,9 +128,9 @@ $(ARCWRAPPERS): %_wrap.cpp: $(top_srcdir)/swig/%.i $(top_srcdir)/swig/Arc.i $(PY
done
install-data-hook:
if test -n "$(PYTHON_SOABI)" ; then \
if [ "$(PYTHON_EXT_SUFFIX)" != ".so" ]; then \
mv $(DESTDIR)$(pyexecdir)/_arc.so \
$(DESTDIR)$(pyexecdir)/_arc.$(PYTHON_SOABI).so ; \
$(DESTDIR)$(pyexecdir)/_arc$(PYTHON_EXT_SUFFIX) ; \
fi
.NOTPARALLEL: %.lo %.o
=================================
Advanced Resource Connector (ARC)
=================================
Release Notes for NorduGrid ARC 6.10.0 10.02.2021
=======================================================
Highlights in this release
--------------------------
There are two important updates in this release.
The first handles the submitter information in regards to GDPR,
and the second fixes a bug causing AREX to crash.
1. Submitters certificate DN and GDPR (Bugzilla 3980)
With ARC 6.10.0 the submitters DN is now exposed in a hashed format.
This means that ARC no longer publishes the submitters DN in clear text
and therefore complies with GDPR regulations.
Note that the arcsync command from ARC clients version <= 6.9.0 will not work,
as the DN's no longer will match. Updating the ARC client is required for arcsync to work.
2. AREX crashes related to the security processing in AREX (Bugzilla 3978)
Some sites experienced regular AREX crashes with the ARC 6.9.0 release.
This was due to a bug in the code which handled the detection of failure in the security processing.
This is now fixed.
In addition to these important changes, the release contains several other bugfixes and improvements as
can be seen in the list of adressed Bugzilla tickets below.
The following Bugzilla tickets have been adressed or solved
------------------------------------------------------------
* 3987 AREX crashes - nightlies 20200120 - libcrypto
* 3979 output files with davs:// destination created with wrong filename
* 3978 Bug in detecting security processing failure in A-REX
* 3976 double submission to slurm
* 3962 Arex crash caused by memory leaks with many open handles - nightlies 20200921020916
The following Bugzilla tickets have been partly resolved:
* 3980 nordugrid-job-globalowner of the nordugrid ldap schema is not GDPR compliant
* 3974 cache info is not published
* 3929 GLUE2ComputingShareMaxMainMemory, GLUE2ComputingShareMaxVirtualMemory and GLUE2ExecutionEnvironmentMainMemorySize affected by homogeneity
Documentation
==============
The ARC 6 documentation can be found at http://www.nordugrid.org/arc/arc6
If you miss something or have questions, please contact us!
Installing ARC 6
=================
We recommend to install ARC release using the Nordugrid repository.
* Start with the basics: http://www.nordugrid.org/arc/arc6/admins/try_arc6.html
* Get production ready: http://www.nordugrid.org/arc/arc6/admins/arc6_install_guide.html
Note that if you instead install from EPEL for RHEL 7 compatible systems,
the ARC 6 packages can be found as nordugrid-arc6-* and not nordugrid-arc-*
This was needed in order to supply both ARC 5 already available for RHEL7 and the new ARC 6.
We provide binary builds for all supported versions of
* Debian (i386 and amd64)
* Fedora (x86_64)
* Centos/RHEL (x86_64)
* Ubuntu (i386 and amd64, both LTS and interim releases) - from Ubuntu 20.04 no i386 support
In addition we build nightly packages for older platforms.
Future support of ARC 5-series
===============================
As of June 2020 no more security updates are provided to ARC 5.
Also since the release of ARC 6 in June 2019, no more development on the ARC 5 code base has been provided.
Production Sites already running ARC 5 will still get operational site support in form of
deployment and configuration troubleshooting help via GGUS until end June 2021.
However, we may recommend upgrading to ARC 6 depending on the issues the site is facing.
ARC5 is available in EPEL7 and will stay there. EPEL8 will only contain ARC 6.
To install ARC 6 from EPEL7 the package-names are of type: nordugrid-arc6-*
Getting in touch
==================
If you need help with the configuration file or have any other questions related to ARC 6, please contact us via
* Email: nordugrid-discuss@nordugrid.org or wlcg-arc-ce-discuss@cern.ch
* Skype channel dedicated to ARC 6 support: https://join.skype.com/dyf3A6Uutjy2
Known issues
==============
* The arcsync command from ARC clients version <= 6.9.0 will not work together
with ARC >=6.10.0 sites. This is due to the hashing of the submitters DN from ARC version 6.10.0.
Updating the ARC client is required for arcsync to work.
* In Centos8 the openldap server is not installable because slapd is not available in the RHEL8 release (Bugzilla 3944).
As a consequence, the LDAP-based server-side information system interface of the ARC-CE will not be available either.
If interaction with the ARC-CE relies on LDAP-based information schemas (glue1.3 or nordugrid schema),
then we recommend that you stay with Centos7 for the time being.
* Related to the new accounting system introduded in release 6.4.0:
* Accounting records created by ARC 6.4.0 are affected by a bug causing missing benchmark values:
https://bugzilla.nordugrid.org./show_bug.cgi?id=3921#c3
Recommendations are to update to a newer version of ARC.
The bugreport gives instructions on how to manually fix the wrong benchmark values.
=================================
Advanced Resource Connector (ARC)
=================================
Release Notes for NorduGrid ARC 6.10.1 12.02.2021
=======================================================
After the brief release of ARC 6.10.0 and the retraction quickly
after, this release tackles the slowness encountered from the hashing code
related to Bug 3980 (GDPR).
We at the same time spotted a problem in the Accounting code which also
has been fixed, see Bug 3992.
Highlights in this release
--------------------------
There are two important updates in this release.
The first handles the submitter information in regards to GDPR,
and the second fixes a bug causing AREX to crash.
1. Submitters certificate DN and GDPR (Bugzilla 3980)
With ARC 6.10.0 the submitters DN is now exposed in a hashed format.
This means that ARC no longer publishes the submitters DN in clear text
and therefore complies with GDPR regulations.
Note that the arcsync command from ARC clients version <= 6.9.0 will not work,
as the DN's no longer will match. Updating the ARC client is required for arcsync to work.
2. AREX crashes related to the security processing in AREX (Bugzilla 3978)
Some sites experienced regular AREX crashes with the ARC 6.9.0 release.
This was due to a bug in the code which handled the detection of failure in the security processing.
This is now fixed.
In addition to these important changes, the release contains several other bugfixes and improvements as
can be seen in the list of adressed Bugzilla tickets below.
The following Bugzilla tickets have been adressed or solved
------------------------------------------------------------
* 3993 The amount of fork calls to sha512sum was slowing down infoproviders
* 3992 Wrong function call in AccountingDBAsync
* 3987 AREX crashes - nightlies 20200120 - libcrypto
* 3979 output files with davs:// destination created with wrong filename
* 3978 Bug in detecting security processing failure in A-REX
* 3976 double submission to slurm
* 3962 Arex crash caused by memory leaks with many open handles - nightlies 20200921020916
The following Bugzilla tickets have been partly resolved:
* 3980 nordugrid-job-globalowner of the nordugrid ldap schema is not GDPR compliant
* 3974 cache info is not published
* 3929 GLUE2ComputingShareMaxMainMemory, GLUE2ComputingShareMaxVirtualMemory and GLUE2ExecutionEnvironmentMainMemorySize affected by homogeneity
Documentation
==============
The ARC 6 documentation can be found at http://www.nordugrid.org/arc/arc6
If you miss something or have questions, please contact us!
Installing ARC 6
=================
We recommend to install ARC release using the Nordugrid repository.
* Start with the basics: http://www.nordugrid.org/arc/arc6/admins/try_arc6.html
* Get production ready: http://www.nordugrid.org/arc/arc6/admins/arc6_install_guide.html
Note that if you instead install from EPEL for RHEL 7 compatible systems,
the ARC 6 packages can be found as nordugrid-arc6-* and not nordugrid-arc-*
This was needed in order to supply both ARC 5 already available for RHEL7 and the new ARC 6.
We provide binary builds for all supported versions of
* Debian (i386 and amd64)
* Fedora (x86_64)
* Centos/RHEL (x86_64)
* Ubuntu (i386 and amd64, both LTS and interim releases) - from Ubuntu 20.04 no i386 support
In addition we build nightly packages for older platforms.
Future support of ARC 5-series
===============================
As of June 2020 no more security updates are provided to ARC 5.
Also since the release of ARC 6 in June 2019, no more development on the ARC 5 code base has been provided.
Production Sites already running ARC 5 will still get operational site support in form of
deployment and configuration troubleshooting help via GGUS until end June 2021.
However, we may recommend upgrading to ARC 6 depending on the issues the site is facing.
ARC5 is available in EPEL7 and will stay there. EPEL8 will only contain ARC 6.
To install ARC 6 from EPEL7 the package-names are of type: nordugrid-arc6-*
Getting in touch
==================
If you need help with the configuration file or have any other questions related to ARC 6, please contact us via
* Email: nordugrid-discuss@nordugrid.org or wlcg-arc-ce-discuss@cern.ch
* Skype channel dedicated to ARC 6 support: https://join.skype.com/dyf3A6Uutjy2
Known issues
==============
* The arcsync command from ARC clients version <= 6.9.0 will not work together
with ARC >=6.10.0 sites. This is due to the hashing of the submitters DN from ARC version 6.10.0.
Updating the ARC client is required for arcsync to work.
* In Centos8 the openldap server is not installable because slapd is not available in the RHEL8 release (Bugzilla 3944).
As a consequence, the LDAP-based server-side information system interface of the ARC-CE will not be available either.
If interaction with the ARC-CE relies on LDAP-based information schemas (glue1.3 or nordugrid schema),
then we recommend that you stay with Centos7 for the time being.
* Related to the new accounting system introduded in release 6.4.0:
* Accounting records created by ARC 6.4.0 are affected by a bug causing missing benchmark values:
https://bugzilla.nordugrid.org./show_bug.cgi?id=3921#c3
Recommendations are to update to a newer version of ARC.
The bugreport gives instructions on how to manually fix the wrong benchmark values.
......@@ -27,7 +27,7 @@ don't ask for verification
.IP "\fB-T\fR, \fB--truncate\fR"
shrinks the joblist before synchronizing
.IP "\fB-C\fR, \fB--convert\fR"
instead of pulling jobs infromation from server read it from jobs storage and write it back. This
instead of pulling jobs information from server read it from jobs storage and write it back. This
option is mostly for converting format of jobs storage file.
.IP "\fB-P\fR, \fB--listplugins\fR"
list the available plugins
......
......@@ -9,7 +9,7 @@ arcproxy \- ARC Credentials Proxy generation utility
.\" Add any additional description here
.PP
arcproxy generates proxy credentials (general proxy certificate, or
proxy certificate with VOMS AC extenstion) from private key and
proxy certificate with VOMS AC extension) from private key and
certificate of user.
.SH OPTIONS
......@@ -23,7 +23,7 @@ location of the generated proxy file
.TP
\fB\-C\fR
location of X509 certificate file, the file can be either pem, der, or pkcs12 formated; if this option is not set,
location of X509 certificate file, the file can be either pem, der, or pkcs12 formatted; if this option is not set,
then env X509_USER_CERT will be searched; if X509_USER_CERT env is not set, then certificatepath item in client.conf
will be searched; if the location still is not found, then ~/.arc/, ~/.globus/, ./etc/arc, and ./ will be searched.
......@@ -239,7 +239,7 @@ level of information printed. Possible values are DEBUG, VERBOSE, INFO, WARNING,
print version information
.PP
If location of certificate and key are not exlicitly specified they are looked
If location of certificate and key are not explicitly specified they are looked
for in following location and order:
Key/certificate paths specified by the environment variables X509_USER_KEY and X509_USER_CERT respectively.
......
......@@ -36,7 +36,7 @@ show only description of requested object, do not list content of directories (l
.IP "\fB-f\fR, \fB--forcelist\fR"
treat requested object as directory and always try to list content
.IP "\fB-c\fR, \fB--checkaccess\fR"
check readability of object. Retrieving and showing information about object is supressed.
check readability of object. Retrieving and showing information about object is suppressed.
.IP "\fB-P\fR, \fB--listplugins\fR"
list the available plugins (protocols supported)
.IP "\fB-t\fR, \fB--timeout\fR=\fIseconds\fR"
......
......@@ -1699,7 +1699,7 @@
## or "both".
## APEL Sync messages are always generated.
## NOTE that on the heavy loaded sites with 10k+ jobs weekly "summaries" generation has
## a performance penalty at the time being. It is advised to use "urs" in this case.
## a performance penalty in ARC < 6.8. It is advised to use "urs" in this case.
## allowedvalues: urs summaries both
## default: summaries
#apel_messages=urs
......@@ -2366,6 +2366,17 @@
## Enable this block ONLY if you want to publish a semi-fake GLUE1 site-bdii as part of
## the LDAP server. This block is used to configure ARC to generate a
## semi-fake site-bdii that can be registered in GOCDB.
## The default will generate an object that you can reference in GOCDB GIIS field as such:
## ldap://archost.domain:2135/mds-vo-name=<unique-site-id>,o=grid
## Example: ldap://archost.domain:2135/mds-vo-name=NDGF-T1,o=grid
## Since the original site-bdii listens on port 2170, you may want to port forward
## 2170 to 2135 in your firewall, but it is not a requirement.
## This fake site bdii is only good if you have a single ARC as a service in your organization.
## It cannot aggregate any information like the real site-bdii does.
## It just presents a partial rendering of a site-bdii that is good enough for top-bdii
## to pick up the information.
## GOCDB checks against this fake-site-bdii should be disabled as it is not fully compliant with
## the site-bdii specification. They will fail if enabled.
#[infosys/glue1/site-bdii]
## CHANGE: RENAMED block in 6.0.0.
......@@ -2373,10 +2384,17 @@
## default: undefined
#unique_id=NDGF-T1
## *url = url - The url of the resource BDII underlying the fake site bdii. It is on the format:
## ldap://host.domain:2170/mds-vo-name=something,o=grid.
## default: undefined
#url=ldap://host.domain:2170/mds-vo-name=something,o=grid
## *url = url - This url is the insertion point in the arc Glue1 ldif tree
## for the semi-fake site-bdii ldap object.
## The content of the ldap object is mainly generated from the data in the
## [infosys/glue1] block.
## The url format is ldap://host.domain:ldapport/basedn
## Example: ldap://host.domain:2135/o=grid
## The generated site-bdii information will be attached under the basedn,
## in the example for o=grid: mds-vo-name=unique-id,o=grid
## In most cases you want to leave the default untouched, unless you know what you're doing.
## default: ldap://localhost:2135/o=grid
#url=ldap://host.domain:2135/o=grid
##
##
### end of the [infosys/glue1/site-bdii] block ###################################
......
......@@ -4,6 +4,7 @@
#include <config.h>
#endif
#include <openssl/sha.h>
#include <arc/StringConv.h>
#include <arc/URL.h>
#include <arc/credential/Credential.h>
......@@ -48,13 +49,21 @@ namespace Arc {
std::string emptycadir;
std::string emptycafile;
Credential credential(*certpath, *keypath, emptycadir, emptycafile);
std::string escaped_dn = escape_chars(credential.GetIdentityName(), filter_esc, '\\', false, escape_hex);
std::string dn = credential.GetIdentityName();
std::string escaped_dn = escape_chars(dn, filter_esc, '\\', false, escape_hex);
std::string hashed_dn;
{
unsigned char hash[SHA512_DIGEST_LENGTH];
SHA512((unsigned char const *)dn.c_str(), dn.length(), hash);
for(int idx = 0; idx < SHA512_DIGEST_LENGTH; ++idx)
hashed_dn += inttostr((unsigned int)hash[idx], 16, 2);
}
//Query GRIS for all relevant information
url.ChangeLDAPScope(URL::subtree);
// Applying filter. Must be done through EndpointQueryOptions.
url.ChangeLDAPFilter("(|(nordugrid-job-globalowner=" + escaped_dn + ")(objectClass=nordugrid-cluster))");
url.ChangeLDAPFilter("(|(nordugrid-job-globalowner=" + escaped_dn + ")(nordugrid-job-globalowner=" + hashed_dn + ")(objectClass=nordugrid-cluster))");
DataBuffer buffer;
DataHandle handler(url, uc);
......
......@@ -16,5 +16,5 @@ libaccLDAP_la_LIBADD = \
$(top_builddir)/src/hed/libs/message/libarcmessage.la \
$(top_builddir)/src/hed/libs/common/libarccommon.la \
$(top_builddir)/src/hed/libs/credential/libarccredential.la \
$(LIBXML2_LIBS) $(GLIBMM_LIBS)
$(OPENSSL_LIBS) $(LIBXML2_LIBS) $(GLIBMM_LIBS)
libaccLDAP_la_LDFLAGS = -no-undefined -avoid-version -module
......@@ -46,7 +46,6 @@ namespace Arc {
//Create credential object in order to get the user DN
std::string emptycadir, emptycafile;
Credential credential(!uc.ProxyPath().empty() ? uc.ProxyPath() : uc.CertificatePath(), "", emptycadir, emptycafile);
std::string escaped_dn = escape_chars(credential.GetIdentityName(), filter_esc, '\\', false, escape_hex);
url.ChangeLDAPFilter("(|(objectclass=nordugrid-cluster)"
"(objectclass=nordugrid-queue))");
......
......@@ -362,7 +362,7 @@ namespace ArcDMCFile {
int res = usercfg.GetUser().check_file_access(url.Path(), O_RDONLY);
if (res != 0) {
logger.msg(VERBOSE, "File is not accessible: %s", url.Path());
return DataStatus(DataStatus::CheckError, errno, "File is not accesible "+url.Path());
return DataStatus(DataStatus::CheckError, errno, "File is not accessible "+url.Path());
}
if (check_meta) {
struct stat st;
......
......@@ -731,9 +731,31 @@ namespace ArcDMCGridFTP {
// Apply control connection address
if((lsep2-lsep1) > 1) {
*lsep2 = '\0';
if(inet_pton(AF_INET, lsep1+1, pasv_addr.host) == 1) {
struct in_addr addr4;
struct in6_addr addr6;
if(inet_pton(AF_INET, lsep1+1, &addr4) == 1) {
pasv_addr.host[3] = (addr4.s_addr >> 24) & 0xFF;
pasv_addr.host[2] = (addr4.s_addr >> 16) & 0xFF;
pasv_addr.host[1] = (addr4.s_addr >> 8) & 0xFF;
pasv_addr.host[0] = (addr4.s_addr >> 0) & 0xFF;
pasv_addr.hostlen = 4;
} else if(inet_pton(AF_INET6, lsep1+1, pasv_addr.host) == 1) {
} else if(inet_pton(AF_INET6, lsep1+1, &addr6) == 1) {
pasv_addr.host[15] = addr6.__in6_u.__u6_addr8[15];
pasv_addr.host[14] = addr6.__in6_u.__u6_addr8[14];
pasv_addr.host[13] = addr6.__in6_u.__u6_addr8[13];
pasv_addr.host[12] = addr6.__in6_u.__u6_addr8[12];
pasv_addr.host[11] = addr6.__in6_u.__u6_addr8[11];
pasv_addr.host[10] = addr6.__in6_u.__u6_addr8[10];
pasv_addr.host[9] = addr6.__in6_u.__u6_addr8[9];
pasv_addr.host[8] = addr6.__in6_u.__u6_addr8[8];
pasv_addr.host[7] = addr6.__in6_u.__u6_addr8[7];
pasv_addr.host[6] = addr6.__in6_u.__u6_addr8[6];
pasv_addr.host[5] = addr6.__in6_u.__u6_addr8[5];
pasv_addr.host[4] = addr6.__in6_u.__u6_addr8[4];
pasv_addr.host[3] = addr6.__in6_u.__u6_addr8[3];
pasv_addr.host[2] = addr6.__in6_u.__u6_addr8[2];
pasv_addr.host[1] = addr6.__in6_u.__u6_addr8[1];
pasv_addr.host[0] = addr6.__in6_u.__u6_addr8[0];
pasv_addr.hostlen = 16;
}
} else {
......@@ -764,7 +786,10 @@ namespace ArcDMCGridFTP {
}
if (pasv_addr.hostlen == 4) {
logger.msg(VERBOSE, "Data channel: %d.%d.%d.%d:%d",
pasv_addr.host[0], pasv_addr.host[1], pasv_addr.host[2], pasv_addr.host[3],
pasv_addr.host[0],
pasv_addr.host[1],
pasv_addr.host[2],
pasv_addr.host[3],
pasv_addr.port);
} else { // hostlen = 16
char buf[8*5];
......
......@@ -336,7 +336,7 @@ namespace Arc {
try {
std::cerr << err.what() << std::endl;
} catch (const Glib::Exception& err2) {
std::cerr << IString("Failed to parse comamnd line options") << std::endl;
std::cerr << IString("Failed to parse command line options") << std::endl;
}
exit(1);
}
......
......@@ -312,14 +312,14 @@ namespace Arc {
* - Key/certificate paths specified by the environment variables
* X509_USER_KEY and X509_USER_CERT. If values are set and
* corresponding files do not exist it considered to be an error
* and no other locations are tried. Error message is supressed
* and no other locations are tried. Error message is suppressed
* if proxy was previously found.
* - Current key/certificate paths passed to the contructor or
* explicitly set using the setter methods KeyPath(const std::string&)
* and CertificatePath(const std::string&) or read from configuration
* by constructor or LoadConfiguartionFile() method. If values
* are set and corresponding files do not exist it is an error
* and no other locations are tried. Error message is supressed
* and no other locations are tried. Error message is suppressed
* if proxy was previously found.
* - Key/certificate paths ~/.arc/usercert.pem and ~/.arc/userkey.pem
* respectively are tried. It is not an error if not found.
......
......@@ -104,7 +104,8 @@ namespace Arc {
// Workaround for older gcc which does not implement construction
// of new elements in std::list according to specification.
public:
AutoPointer(AutoPointer<T> const& o) {
AutoPointer(AutoPointer<T> const& o)
: object(NULL), deleter(&DefaultDeleter) {
operator=(const_cast<AutoPointer<T>&>(o));
}
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment