aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-09-19 15:52:24 -0500
committerTed Gould <ted@gould.cx>2012-09-19 15:52:24 -0500
commite6057a3d8492702fb5aeffd286f1b6cde1e04f6b (patch)
tree5ae9c9e90d8fda96ceeec4f7792849cf9895e9da
parentb7d9fbfb09f346f8d597b00daca797b2812de5ac (diff)
downloadlibpam-freerdp2-e6057a3d8492702fb5aeffd286f1b6cde1e04f6b.tar.gz
libpam-freerdp2-e6057a3d8492702fb5aeffd286f1b6cde1e04f6b.tar.bz2
libpam-freerdp2-e6057a3d8492702fb5aeffd286f1b6cde1e04f6b.zip
Check for spaces in the username, block them
-rw-r--r--src/pam-freerdp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pam-freerdp.c b/src/pam-freerdp.c
index ebc98af..607e215 100644
--- a/src/pam-freerdp.c
+++ b/src/pam-freerdp.c
@@ -126,6 +126,18 @@ get_item (pam_handle_t * pamh, int type)
}
}
+ /* The way that xfreerdp does parsing means that we can't handle
+ spaces in the username. Let's block them as early as possible.
+ Though, if the xfreerdp part gets fixed, we want this to disappear
+ http://launchpad.net/bugs/1053102
+ */
+ if (type == PAM_RUSER) {
+ if (strstr(promptval, " ") != NULL) {
+ free(promptval);
+ return NULL;
+ }
+ }
+
if (type == PAM_RHOST) {
char * subloc = strstr(promptval, "://");
if (subloc != NULL) {