axis-axis2-c-core.git
2 years agoUpdate GitHub link to Axis2C website (via .asf.yaml) master
William Blough [Fri, 4 Sep 2020 22:33:46 +0000 (18:33 -0400)] 
Update GitHub link to Axis2C website (via .asf.yaml)

2 years agoFix 1-byte buffer overwrites due to null-termination
Bill Blough [Fri, 4 Sep 2020 02:14:01 +0000 (22:14 -0400)] 
Fix 1-byte buffer overwrites due to null-termination

Add axutil_stream_set_buffer_end_null function to allow memory
reallocation if needed when null-terminating a basic stream.

Fixes: AXIS2C-1600

2 years agoConsistently allow enable/disable of -Werror, disable by default
William Blough [Fri, 4 Sep 2020 00:21:34 +0000 (20:21 -0400)] 
Consistently allow enable/disable of -Werror, disable by default

Fixes: AXIS2C-1603

2 years agoFail configure if pkg-config isn't found
William Blough [Wed, 2 Sep 2020 04:42:36 +0000 (00:42 -0400)] 
Fail configure if pkg-config isn't found

Trying to run configure without pkg-config installed produces a
cryptic error due to the PKG_CHECK_MODULES macro not being available.
Add a check for pkg-config and fail with a clearer error message if it
isn't installed.

Fixes: AXIS2C-1638

2 years agoRemove fprintf, set errno instead.
William Blough [Wed, 2 Sep 2020 03:59:44 +0000 (23:59 -0400)] 
Remove fprintf, set errno instead.

Remove the fprintf statements in the windows platform implementation of
the POSIX opendir function, and set errno with the error value instead.

Closes: AXIS2c-1674

2 years agoFix potential buffer overflow in http_response_writer_print_int
William Blough [Mon, 31 Aug 2020 01:31:00 +0000 (21:31 -0400)] 
Fix potential buffer overflow in http_response_writer_print_int

2 years agoFix mem leak in axiom test_parser
William Blough [Sun, 30 Aug 2020 22:29:51 +0000 (18:29 -0400)] 
Fix mem leak in axiom test_parser

2 years agoRun tests after build
William Blough [Sun, 30 Aug 2020 22:21:16 +0000 (18:21 -0400)] 
Run tests after build

2 years agoFix possible null dereference in mtom caching sample
William Blough [Sun, 30 Aug 2020 22:08:28 +0000 (18:08 -0400)] 
Fix possible null dereference in mtom caching sample

2 years agoUse bionic for travis builds
William Blough [Sun, 30 Aug 2020 21:45:20 +0000 (17:45 -0400)] 
Use bionic for travis builds

2 years agoAdd googletest dependency to travis config
William Blough [Sun, 30 Aug 2020 21:41:42 +0000 (17:41 -0400)] 
Add googletest dependency to travis config

2 years agoAdd script to compile with options preferred for running tests
William Blough [Sun, 30 Aug 2020 21:33:04 +0000 (17:33 -0400)] 
Add script to compile with options preferred for running tests

2 years agoAdd notification email to travis config
William Blough [Sun, 30 Aug 2020 21:20:30 +0000 (17:20 -0400)] 
Add notification email to travis config

2 years agoAdd travis config
William Blough [Sun, 30 Aug 2020 21:03:08 +0000 (17:03 -0400)] 
Add travis config

2 years agoFix parsing of CDATA sections
Bill Blough [Fri, 10 Apr 2020 04:03:30 +0000 (00:03 -0400)] 
Fix parsing of CDATA sections

JIRA: AXIS2C-1453

2 years agoFix failure to build with libxml2
Bill Blough [Thu, 9 Apr 2020 04:50:43 +0000 (00:50 -0400)] 
Fix failure to build with libxml2

2 years agoSet dep_engine->repos_listener to NULL after free
Bill Blough [Wed, 8 Apr 2020 01:52:41 +0000 (21:52 -0400)] 
Set dep_engine->repos_listener to NULL after free

Set dep_engine->repos_listener to NULL after freeing to avoid double-frees
JIRA: AXIS2C-1570

2 years agoFix crash in test_deployment due to misplaced null check
Bill Blough [Wed, 8 Apr 2020 01:48:34 +0000 (21:48 -0400)] 
Fix crash in test_deployment due to misplaced null check

2 years agoInstall axutil platform-specific headers into correct directory
Bill Blough [Tue, 7 Apr 2020 01:48:58 +0000 (21:48 -0400)] 
Install axutil platform-specific headers into correct directory

2 years agoFix autotools warnings about INCLUDES
Bill Blough [Fri, 17 Jan 2020 18:56:10 +0000 (18:56 +0000)] 
Fix autotools warnings about INCLUDES

2 years agoFix out-of-tree builds
Bill Blough [Fri, 17 Jan 2020 18:55:46 +0000 (18:55 +0000)] 
Fix out-of-tree builds

2 years agoAdd missing gtest include
Bill Blough [Fri, 17 Jan 2020 18:55:27 +0000 (18:55 +0000)] 
Add missing gtest include

2 years agoFix typos in gtest makefile variables
Bill Blough [Fri, 17 Jan 2020 18:55:25 +0000 (18:55 +0000)] 
Fix typos in gtest makefile variables

2 years agoDon't try to add gtest sources to dist tarball
Bill Blough [Fri, 17 Jan 2020 18:55:09 +0000 (18:55 +0000)] 
Don't try to add gtest sources to dist tarball

3 years agoAdd SSL host validation check to X509_V_OK code path
Bill Blough [Sun, 1 Sep 2019 19:46:00 +0000 (19:46 +0000)] 
Add SSL host validation check to X509_V_OK code path

Based on the man page for SSL_get_verify_result, a good certificate
verification can result in X509_V_OK.  In this case, the previously
added peer host name validation would not happen.  So add it to this
case, too.

3 years agoFix possible null pointer dereference
Bill Blough [Sun, 1 Sep 2019 19:45:58 +0000 (19:45 +0000)] 
Fix possible null pointer dereference

3 years agoPerform SSL hostname validation
Bill Blough [Sun, 1 Sep 2019 00:23:06 +0000 (00:23 +0000)] 
Perform SSL hostname validation

SSL stream can now verify that the remote server hostname matches the
the certificate Common Name or Subject Alternative Name.

This behavior can be disabled/enabled at the http_client scope using the
new function:

    axis2_http_client_set_validate_ssl_hostname

There is also an associated getter:

    axis2_http_client_get_validate_ssl_hostname

For backwards compatibility, this behavior is disabled by default.
However, this will change to being enabled by default in a future
release.

When enabled, this functionality mitigates CVE-2012-6107.

JIRA: AXIS2C-1619

3 years agoFix assignment/equality typo in http http_client.c=
Bill Blough [Wed, 22 May 2019 10:45:39 +0000 (10:45 +0000)] 
Fix assignment/equality typo in http http_client.c=

Thanks to kvarec for noticing it.

3 years agoFix memleak in clientapi options
Bill Blough [Tue, 4 Dec 2018 05:15:39 +0000 (05:15 +0000)] 
Fix memleak in clientapi options

Patch obtained from AXIS2C-1669.

3 years agoFix memory leak in ssl connection
Bill Blough [Tue, 4 Dec 2018 04:11:29 +0000 (04:11 +0000)] 
Fix memory leak in ssl connection

The ssl stream is only freed if axis2_http_sender is used to initiate
the connection.  Direct use of axis2_http_client causes a memory leak
since the SSL stream is never properly freed.

This commit frees the stream in http_client, and adds safeguards to
axis2_ssl_stream_free to prevent issues if called again (such as from
http_sender).

3 years agoAdd support for openssl 1.1.x
Bill Blough [Tue, 4 Dec 2018 03:50:49 +0000 (03:50 +0000)] 
Add support for openssl 1.1.x

Add support for openssl 1.1.x, while maintaining compatibility with
openssl 1.0.x.

3 years agoFix memory leak in simple_reponse
Bill Blough [Tue, 4 Dec 2018 03:50:40 +0000 (03:50 +0000)] 
Fix memory leak in simple_reponse

Free stream if and only if created by response.

3 years agoSSL connect fixes
Bill Blough [Tue, 4 Dec 2018 03:50:34 +0000 (03:50 +0000)] 
SSL connect fixes

Fix memory leak in axis2_http_client_connect_ssl_host.

Adjust header read routine to use buffer of size AXIS2_HTTP_HEADER_LENGTH
instead of AXIS2_HTTP_STATUS_LINE_LENGTH.  Rename variables as
appropriate.

3 years agoFix client response status/header buffer issues
Bill Blough [Tue, 4 Dec 2018 02:54:53 +0000 (02:54 +0000)] 
Fix client response status/header buffer issues

Fix buffer overflows in axis2_http_client_receive_header and
axis2_http_client_connect_ssl_host when reading response status and
headers.

Also, increase allowed header length to 4096, in accordance with
RFC2109.

Jira: AXISC-1415, AXISC-1511, AXISC-1661

3 years agoMore xpath memory fixes
Bill Blough [Mon, 3 Dec 2018 01:52:51 +0000 (01:52 +0000)] 
More xpath memory fixes

Fix several memory leaks and free issues.

Includes additional fixes for AXISC-1602 and parts of AXISC-1669

3 years agoFix ssl connect through proxy
Bill Blough [Sun, 2 Dec 2018 01:09:05 +0000 (01:09 +0000)] 
Fix ssl connect through proxy

Fix logic error in axis2_http_client_connect_ssl_host where header
parsing would get stuck in a loop.

Fixes AXIS2C-1397 and AXIS2C-1665

3 years agoFix to support Apache HTTP Server 2.4
Bill Blough [Sat, 1 Dec 2018 20:07:33 +0000 (20:07 +0000)] 
Fix to support Apache HTTP Server 2.4

3 years agoFix typos in https client test
Bill Blough [Sat, 1 Dec 2018 20:06:48 +0000 (20:06 +0000)] 
Fix typos in https client test

4 years agoMemory and logging fixes from AXIS2C-1669
Bill Blough [Thu, 23 Aug 2018 00:35:11 +0000 (00:35 +0000)] 
Memory and logging fixes from AXIS2C-1669

Applied patches-
    xpath_internals_engine.c.patch
    xpath_internals_parser.c.patch
    xpath_streaming.c.patch

with some adjustments to compensate for previous changes.

4 years agoFix memleak
Bill Blough [Tue, 21 Aug 2018 16:26:23 +0000 (16:26 +0000)] 
Fix memleak

4 years agoFix memory leaks
Bill Blough [Tue, 21 Aug 2018 16:26:21 +0000 (16:26 +0000)] 
Fix memory leaks

4 years agoFix memleaks
Bill Blough [Tue, 21 Aug 2018 16:26:18 +0000 (16:26 +0000)] 
Fix memleaks

4 years agoFix memleaks in tests
Bill Blough [Tue, 21 Aug 2018 16:26:15 +0000 (16:26 +0000)] 
Fix memleaks in tests

4 years agoFix memleaks in test_xpath_streaming
Bill Blough [Sat, 18 Aug 2018 16:12:19 +0000 (16:12 +0000)] 
Fix memleaks in test_xpath_streaming

4 years agoFix memleaks and double-free issues with xpath
Bill Blough [Sat, 18 Aug 2018 16:12:16 +0000 (16:12 +0000)] 
Fix memleaks and double-free issues with xpath

4 years agoFix memleaks in axiom/test_util
Bill Blough [Sat, 18 Aug 2018 01:35:45 +0000 (01:35 +0000)] 
Fix memleaks in axiom/test_util

4 years agoImprove handling of deeply-nested fault subcodes
Bill Blough [Sat, 18 Aug 2018 01:35:43 +0000 (01:35 +0000)] 
Improve handling of deeply-nested fault subcodes

soap12_builder_helper did not properly handle fault subcodes nested more
than 2 or 3 deep.  This caused parsing issues and memory leaks. The new
implementation should handle an arbitrary number of nested subcodes.

4 years agoExplicitly return NULL on get_sub_code failure
Bill Blough [Sat, 18 Aug 2018 01:35:41 +0000 (01:35 +0000)] 
Explicitly return NULL on get_sub_code failure

4 years agoRename axiom_soap_fault_sub_code_get_subcode
Bill Blough [Sat, 18 Aug 2018 01:35:40 +0000 (01:35 +0000)] 
Rename axiom_soap_fault_sub_code_get_subcode

* Rename axiom_soap_fault_sub_code_get_subcode to match what is listed in
the header file (axiom_soap_fault_sub_code_get_sub_code).
* Add wrapper function named axiom_soap_fault_sub_code_get_subcode to
maintain API compatibility until it can be deprecated and safely removed.

4 years agoImprove axiom/test_soap tests
Bill Blough [Sat, 18 Aug 2018 01:35:38 +0000 (01:35 +0000)] 
Improve axiom/test_soap tests

4 years agoFix memleaks in axiom/test_om
Bill Blough [Sat, 18 Aug 2018 01:35:36 +0000 (01:35 +0000)] 
Fix memleaks in axiom/test_om

4 years agoImprove tests for axiom/om
Bill Blough [Sat, 18 Aug 2018 01:35:35 +0000 (01:35 +0000)] 
Improve tests for axiom/om

4 years agoFix memleaks in test_attribute
Bill Blough [Sat, 18 Aug 2018 01:35:33 +0000 (01:35 +0000)] 
Fix memleaks in test_attribute

4 years agoFix memleaks in test_guththila
Bill Blough [Sat, 18 Aug 2018 01:35:31 +0000 (01:35 +0000)] 
Fix memleaks in test_guththila

4 years agoFix spelling errors in comments/docs
Bill Blough [Tue, 31 Jul 2018 01:11:56 +0000 (01:11 +0000)] 
Fix spelling errors in comments/docs

Github PR #4

Thanks to Jimmy Casey for the patch.

4 years agoImprove test coverage for guththila_token
Bill Blough [Thu, 17 May 2018 03:20:14 +0000 (03:20 +0000)] 
Improve test coverage for guththila_token

4 years agoImprove test coverage for guththila_stack
Bill Blough [Thu, 17 May 2018 03:20:12 +0000 (03:20 +0000)] 
Improve test coverage for guththila_stack

4 years agoFix guththila stack issues
Bill Blough [Thu, 17 May 2018 03:20:10 +0000 (03:20 +0000)] 
Fix guththila stack issues

guththila_stack_push allocates memory is chunks of stack->max or
stack->max * 2, however guththila_stack_del_top tries to free individual data
elements, leading to memory errors.  Changed del_top function to remove
value from stack but not attempt to free the memory (which will be freed
when stack_un_init or stack_free is called).

Also, in guththila_stack_un_init, set stack_data = NULL after freeing, to
avoid possible double free if stack_free is inadvertently called after
stack_un_init.

4 years agoFix memory leaks in util tests
Bill Blough [Thu, 10 May 2018 02:52:22 +0000 (02:52 +0000)] 
Fix memory leaks in util tests

4 years agoFixes memory leaks in linked_list and link_list_test
Bill Blough [Thu, 10 May 2018 02:52:19 +0000 (02:52 +0000)] 
Fixes memory leaks in linked_list and link_list_test

In cases where an entry was removed but only the entry's data was
returned, the removed entry would be orphaned and never freed.

Also, fixes several memory leaks in the tests for linked_list.

4 years agoAdd configure support for AddressSanitizer
Bill Blough [Thu, 10 May 2018 02:52:15 +0000 (02:52 +0000)] 
Add configure support for AddressSanitizer

4 years agoApply http_transport_utils fixes from AXISC-1669
Bill Blough [Sun, 6 May 2018 02:45:21 +0000 (02:45 +0000)] 
Apply http_transport_utils fixes from AXISC-1669

4 years agoAdd null check in axis2_module_builder_populate_module
Bill Blough [Sat, 5 May 2018 20:49:28 +0000 (20:49 +0000)] 
Add null check in axis2_module_builder_populate_module

JIRA: AXIS2C-1571

4 years agoReplace calloc with AXIS2_MALLOC in guththila tests
Bill Blough [Sat, 5 May 2018 20:49:26 +0000 (20:49 +0000)] 
Replace calloc with AXIS2_MALLOC in guththila tests

4 years agoRename some vars in axiom and neethi tests for consistency
Bill Blough [Sat, 5 May 2018 20:49:24 +0000 (20:49 +0000)] 
Rename some vars in axiom and neethi tests for consistency

4 years agoAdd additional tests in guththila for AXIS2C-1627
Bill Blough [Sat, 5 May 2018 16:07:19 +0000 (16:07 +0000)] 
Add additional tests in guththila for AXIS2C-1627

4 years agoFix circular dependency introduced by tests for AXISC-1627
Bill Blough [Sat, 5 May 2018 05:57:17 +0000 (05:57 +0000)] 
Fix circular dependency introduced by tests for AXISC-1627

The tests for AXISC-1627 created a circular link dependency between
axiom and guththila.  Since the tests provided with the fix relied on
axiom calls, it made sense to move the tests to the axiom subproject.
This has the benefit of testing other parsers for this issue, instead of only
guththila.

4 years agoAdd deserialziation test for AXIS2C-1627
Bill Blough [Wed, 2 May 2018 03:47:42 +0000 (03:47 +0000)] 
Add deserialziation test for AXIS2C-1627

4 years agoFix guththila serialization of special chars in attr
Bill Blough [Wed, 2 May 2018 03:39:14 +0000 (03:39 +0000)] 
Fix guththila serialization of special chars in attr

JIRA: AXIS2C-1627

4 years agoFix shutdown hang on http_client test
Bill Blough [Tue, 1 May 2018 06:00:45 +0000 (06:00 +0000)] 
Fix shutdown hang on http_client test

4 years agoFree log_impl on error to avoid memory leak
Bill Blough [Tue, 1 May 2018 01:49:17 +0000 (01:49 +0000)] 
Free log_impl on error to avoid memory leak

JIRA: AXIS2C-1655

4 years agoRemove conflicting assertion
Bill Blough [Tue, 1 May 2018 00:11:21 +0000 (00:11 +0000)] 
Remove conflicting assertion

Jira: AXIS2C-1695

4 years agoUse helper function to add to engaged modules
Bill Blough [Mon, 30 Apr 2018 23:56:03 +0000 (23:56 +0000)] 
Use helper function to add to engaged modules

Use the existing helper function to add a module to the engaged modules list,
rather than modifying the list directly.  This handles the case where the list
has not already been initialized.

Jira: AXIS2C-1697

4 years agoConvert core tests to use gtest
Bill Blough [Sun, 29 Apr 2018 21:15:00 +0000 (21:15 +0000)] 
Convert core tests to use gtest

4 years agoAdd missed Makefile for guththila
Bill Blough [Sun, 29 Apr 2018 16:12:17 +0000 (16:12 +0000)] 
Add missed Makefile for guththila

4 years agoConvert all util tests to use gtest
Bill Blough [Sun, 29 Apr 2018 16:12:14 +0000 (16:12 +0000)] 
Convert all util tests to use gtest

4 years agoAdd gtest support for util
Bill Blough [Sun, 29 Apr 2018 16:12:04 +0000 (16:12 +0000)] 
Add gtest support for util

4 years agoAdd missing coverage-related compiler flags (util)
Bill Blough [Sun, 29 Apr 2018 16:12:01 +0000 (16:12 +0000)] 
Add missing coverage-related compiler flags (util)

4 years agoFixes for code coverage related flags
Bill Blough [Sun, 29 Apr 2018 01:57:13 +0000 (01:57 +0000)] 
Fixes for code coverage related flags

Some compile/link flag changes for test coverage metrics (gcov/lcov)
didn't get checked in, so here they are.

4 years agoConvert neethi test to use gtest
Bill Blough [Sun, 29 Apr 2018 01:57:10 +0000 (01:57 +0000)] 
Convert neethi test to use gtest

4 years agoAdd missing gtest makefile for neethi
Bill Blough [Sat, 28 Apr 2018 23:31:17 +0000 (23:31 +0000)] 
Add missing gtest makefile for neethi

4 years agoAdd gtest support to neethi build
Bill Blough [Sat, 28 Apr 2018 23:27:28 +0000 (23:27 +0000)] 
Add gtest support to neethi build

4 years agoHonor enable/disable-tests configure flag (neethi)
Bill Blough [Sat, 28 Apr 2018 23:27:26 +0000 (23:27 +0000)] 
Honor enable/disable-tests configure flag (neethi)

JIRA: AXIS2C-1690

4 years agoSwitch guththila tests to use gtest
Bill Blough [Mon, 5 Feb 2018 05:11:12 +0000 (05:11 +0000)] 
Switch guththila tests to use gtest

4 years agoUpdate function declaration to not conflict with C++ reserved words
Bill Blough [Mon, 5 Feb 2018 05:10:57 +0000 (05:10 +0000)] 
Update function declaration to not conflict with C++ reserved words

4 years agoSwitch axiom test_xpath* to use gtest
Bill Blough [Sun, 7 Jan 2018 23:52:51 +0000 (23:52 +0000)] 
Switch axiom test_xpath* to use gtest

4 years agoSwitch axiom test_util to use gtest
Bill Blough [Sun, 7 Jan 2018 22:56:19 +0000 (22:56 +0000)] 
Switch axiom test_util to use gtest

4 years agoSwitch test_soap to use gtest
Bill Blough [Sun, 7 Jan 2018 19:43:31 +0000 (19:43 +0000)] 
Switch test_soap to use gtest

4 years agoSwitch test_om to use gtest
Bill Blough [Sun, 7 Jan 2018 19:43:29 +0000 (19:43 +0000)] 
Switch test_om to use gtest

4 years agoAdd gtest support for axiom
Bill Blough [Sun, 7 Jan 2018 19:43:27 +0000 (19:43 +0000)] 
Add gtest support for axiom

4 years agoAdd support for Google Test Framework
Bill Blough [Sun, 7 Jan 2018 02:07:26 +0000 (02:07 +0000)] 
Add support for Google Test Framework

Add support for using out-of-tree copy of gtest by using the
--with-gtest=<path> configure flag, where <path> is the path to the
gtest source directory.  The gtest libs will be compiled and copied into
the working tree.

JIRA: AXIS2C-1691

4 years agoFix WRAPPER_DIR contention between libxml2 and guththila
Bill Blough [Sun, 7 Jan 2018 01:48:17 +0000 (01:48 +0000)] 
Fix WRAPPER_DIR contention between libxml2 and guththila

When configuring with --disable-libxml2 AND --enable-guththila, the WRAPPER_DIR
variable gets cleared by --disable-libxml2 even after --enable-guththila has
set it.

JIRA: AXIS2C-1684

4 years agoOptionally enable code coverage statistics
Bill Blough [Sun, 7 Jan 2018 01:31:39 +0000 (01:31 +0000)] 
Optionally enable code coverage statistics

Add configure/makefile support for enabling gcov-based test coverage statistics

JIRA: AXIS2C-1689

4 years agoFix comment typo
Bill Blough [Mon, 11 Dec 2017 03:13:23 +0000 (03:13 +0000)] 
Fix comment typo

Fix comment typo as reported at https://github.com/apache/axis2-c/pull/3

Submitted-by: Bruno Kinoshita <kinow>
4 years agoReplace C++-style comments with C-style comments
Bill Blough [Sun, 10 Dec 2017 18:03:37 +0000 (18:03 +0000)] 
Replace C++-style comments with C-style comments

C90 does not recognize C++ style comments.  Replace with C-style comments
for compatibility.

Jira:  AXIS2C-1688

6 years agoaxiom_node_add_sibling function added. It can be used to generates a multipart envelo...
Rafael Bronzeri [Sun, 18 Sep 2016 17:54:38 +0000 (17:54 +0000)] 
axiom_node_add_sibling function added. It can be used to generates a multipart envelop payload.
Jira: AXIS2C-1687

6 years agoaxiom_node_add_sibling function added. It can be used to generates a multipart envelo...
Rafael Bronzeri [Sun, 18 Sep 2016 17:54:09 +0000 (17:54 +0000)] 
axiom_node_add_sibling function added. It can be used to generates a multipart envelop payload.
Jira: AXIS2C-1687

6 years agoGet compatibility with anothers Web Services Frameworks, adjust payload with xmlns
Rafael Bronzeri [Sun, 18 Sep 2016 15:46:53 +0000 (15:46 +0000)] 
Get compatibility with anothers Web Services Frameworks, adjust payload with xmlns

6 years agoFixed Bug: AXIS2C-1674. Simple HttpServer crashes when reading directories in Windows...
Rafael Bronzeri [Wed, 6 Jul 2016 03:38:47 +0000 (03:38 +0000)] 
Fixed Bug: AXIS2C-1674. Simple HttpServer crashes when reading directories in Windows 2012 Server

6 years agoFixed Bug: AXIS2C-1674. Simple HttpServer crashes when reading directories in Windows...
Rafael Bronzeri [Wed, 6 Jul 2016 03:38:30 +0000 (03:38 +0000)] 
Fixed Bug: AXIS2C-1674. Simple HttpServer crashes when reading directories in Windows 2012 Server