Commit Graph
49 Commits
Author SHA1 Message Date
Aaron 427cce83f0 Added changes based of feedback from Peter 2015-08-14 09:26:45 -07:00
Aaron e900fc89d6 Changed based of feedback 2015-08-13 10:48:38 -07:00
Andrew Schwartzmeyer a99c56eea3 Convert to Allman style with 4-space indentation 2015-08-07 18:43:58 -07:00
Andrew Schwartzmeyer f35efda7e7 Add -Wall to CMAKE_CXX_FLAGS 2015-08-07 12:07:19 -07:00
Andrew Schwartzmeyer 467fdeeb0c Map getlogin_r()'s ERANGE to ERROR_GEN_FAILURE
ERROR_INSUFFICIENT_BUFFER should never occur here and would be a
misleading error for the user.
2015-08-07 12:05:07 -07:00
Andrew Schwartzmeyer 062eb5a7b4 Fix style issues
- Use Doxygen style comments (with better comments)
- Use `type* ident` instead of `type *ident`
- Start { on new lines
- Use TRUE/FALSE from PAL.H
2015-08-07 12:03:31 -07:00
Andrew Schwartzmeyer 1b18bfd5e1 Clean up CMakeLists 2015-08-06 17:03:53 -07:00
Andrew Schwartzmeyer afab62205a Rename to GetUserNameW since it is Unicode 2015-08-06 16:28:29 -07:00
Aaron 3aba128b6d Got rid of tests for UTF7, added error checking, adding test to check for null paramater for codepage 2015-08-06 10:16:13 -07:00
Aaron 8e5bfe3072 updates to CMakeFile.txt 2015-08-05 13:28:12 -07:00
Andrew Schwartzmeyer 2ec0c2996f Use WCHAR sizes instead of CHAR sizes
Such that lpnSize is the length (number of UTF-16 characters, including
null) of the username. Must be multiplied by sizeof(char16_t) for bytes.
2015-08-04 18:31:54 -07:00
Andrew Schwartzmeyer b77b0a7e6c Update GetUserName tests
Note that these fail when run in a Docker container because a) the
current container's locale is not completely set, and b) getlogin()
returns null with ENOENT since /var/run/utmp is being mapped to the
host, and thus denied access from within the container.

The container needs the locale set and its own /run/utmp, see
https://lists.linuxcontainers.org/pipermail/lxc-users/2011-July/002374.html
2015-08-04 14:16:57 -07:00
Andrew Schwartzmeyer 052ecc801d Use icu for Unicode conversion and fix lpnSize
A careful reading of the GetUserName documentation and Windows Data
Types says that lpnSize is "the number of TCHARs copied to the
buffer...including the terminating null character," and a TCHAR in this
environment is a CHAR because we assume UNICODE is always defined for
CoreCLR. A CHAR is a byte. So lpSize is number of bytes, not number of
UTF-16 characters as we previously believed.
2015-08-04 14:16:49 -07:00
Andrew Schwartzmeyer 84d24589be Link ps against icu instead of scxcore
Remove scxcore library from CMake
2015-08-04 14:14:07 -07:00
Andrew Schwartzmeyer 011d8f41ea Rename userName in test to expectedUsername
To clarify that it is for comparison; not the result of GetUserName.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer d589ac1cbf Refactor setting of lpnSize when buffer size is insufficient 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 865fd0a56b Remove unnecessary static qualifier from const string 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer b36cdcdc12 Use std::string instead of C99 dynamic array 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer bb8d0b793e Use LOGIN_NAME_MAX instead of L_cuserid
Since L_cuserid is only for cuserid, not getlogin_r

Unit test for L_cuserid removed because the macro may not be available
on all platforms.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer e2d4ce0ab1 Add more unit test coverage for GetUserName 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 876a88c7d8 Set lpnSize when insufficient 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer edcb8b0402 Use test fixture in GetUserName unit tests 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 59eb8a5799 Use L_cuserid instead of 64 and given lpnSize 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 097d2e3821 Factor out using directives 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 14cec68d08 Change global to local static const
To avoid polluting the global namespace without using a namespace.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 80f8fff6f2 Clarify lpBuffer layout in GetUserName unit test 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 00390847e6 Convert get_login_r to UTF-16 and return 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer e14934d06d Check for invalid parameters in GetUserName 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 69bfc8906b Explain GetUserName signature 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 5f54d0c748 Test UTF-16 output of GetUserName 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 0d9d31d5bd Link scxcore to ps and include headers 2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer 95c6658178 Add unit test for GetUserName 2015-08-03 12:58:59 -07:00
Andrew Schwartzmeyer 83d2162dc1 Use getlogin_r() in GetUserName and map errno 2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer 197938c6a6 Check locale in GetUserName 2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer 61b4e5513a Update GetUserName signature 2015-08-03 12:53:39 -07:00
Peter Honeder c1c9a99269 added hostutil.h, added tests for hostutil, added more cmdline options to PS host 2015-07-30 16:53:35 +02:00
Peter Honeder 8e18abaf31 added interpreting the verbose option 2015-07-29 18:12:31 +02:00
Peter Honeder d09ac28b73 fixed string termination issue, added verbose mode 2015-07-28 18:49:32 +02:00
Peter Honeder 0a31659271 cleaned up implementation, added command line parsing and standardized managed interface for cmdline hosts 2015-07-28 18:28:09 +02:00
Peter Honeder f7396c9561 renamed function pointer type, changed code to call UnmanagedMain 2015-07-27 18:40:33 +02:00
Peter Honeder 3711159996 added first version of custom PS hosting code 2015-07-27 17:40:14 +02:00
Peter Honeder a756ecaadf added pinvoke functions to query terminal size 2015-07-07 18:04:23 -07:00
Peter Honeder f8f4b5e380 added libps.so, added stub for GetUserName 2015-06-16 14:02:19 -07:00
Aaron Katz e9a2a2d8a2 changed spacing 2015-04-09 15:23:57 -07:00
Aaron Katz a0f238906b Changes to spacing 2015-04-09 14:51:10 -07:00
Aaron Katz 6194094244 Changes from notes 2015-04-03 11:06:30 -07:00
Aaron Katz ac95206250 code for cpinfo 2015-03-20 10:07:06 -07:00
Pete Baker 8c27f6eb80 built and tested - pass 2015-03-19 13:09:36 -07:00
Peter Honeder c0bc9a2a67 initial commit 2015-03-05 14:58:25 -08:00