comparison svr-auth.c @ 1100:7b84c3492a95

Turn username, servicename and methodname local variables into char * Changing checkusername()'s username argument into char * as well.
author Gaël PORTAY <gael.portay@gmail.com>
date Sat, 02 May 2015 15:26:05 +0200
parents c45d65392c1a
children aaf576b27a10
comparison
equal deleted inserted replaced
1099:4b21d9067162 1100:7b84c3492a95
34 #include "auth.h" 34 #include "auth.h"
35 #include "runopts.h" 35 #include "runopts.h"
36 #include "dbrandom.h" 36 #include "dbrandom.h"
37 37
38 static void authclear(); 38 static void authclear();
39 static int checkusername(unsigned char *username, unsigned int userlen); 39 static int checkusername(char *username, unsigned int userlen);
40 40
41 /* initialise the first time for a session, resetting all parameters */ 41 /* initialise the first time for a session, resetting all parameters */
42 void svr_authinitialise() { 42 void svr_authinitialise() {
43 43
44 ses.authstate.failcount = 0; 44 ses.authstate.failcount = 0;
98 98
99 /* handle a userauth request, check validity, pass to password or pubkey 99 /* handle a userauth request, check validity, pass to password or pubkey
100 * checking, and handle success or failure */ 100 * checking, and handle success or failure */
101 void recv_msg_userauth_request() { 101 void recv_msg_userauth_request() {
102 102
103 unsigned char *username = NULL, *servicename = NULL, *methodname = NULL; 103 char *username = NULL, *servicename = NULL, *methodname = NULL;
104 unsigned int userlen, servicelen, methodlen; 104 unsigned int userlen, servicelen, methodlen;
105 int valid_user = 0; 105 int valid_user = 0;
106 106
107 TRACE(("enter recv_msg_userauth_request")) 107 TRACE(("enter recv_msg_userauth_request"))
108 108
117 send_msg_userauth_banner(svr_opts.banner); 117 send_msg_userauth_banner(svr_opts.banner);
118 buf_free(svr_opts.banner); 118 buf_free(svr_opts.banner);
119 svr_opts.banner = NULL; 119 svr_opts.banner = NULL;
120 } 120 }
121 121
122 username = buf_getstring(ses.payload, &userlen); 122 username = (char *)buf_getstring(ses.payload, &userlen);
123 servicename = buf_getstring(ses.payload, &servicelen); 123 servicename = (char *)buf_getstring(ses.payload, &servicelen);
124 methodname = buf_getstring(ses.payload, &methodlen); 124 methodname = (char *)buf_getstring(ses.payload, &methodlen);
125 125
126 /* only handle 'ssh-connection' currently */ 126 /* only handle 'ssh-connection' currently */
127 if (servicelen != SSH_SERVICE_CONNECTION_LEN 127 if (servicelen != SSH_SERVICE_CONNECTION_LEN
128 && (strncmp(servicename, SSH_SERVICE_CONNECTION, 128 && (strncmp(servicename, SSH_SERVICE_CONNECTION,
129 SSH_SERVICE_CONNECTION_LEN) != 0)) { 129 SSH_SERVICE_CONNECTION_LEN) != 0)) {
225 } 225 }
226 226
227 227
228 /* Check that the username exists and isn't disallowed (root), and has a valid shell. 228 /* Check that the username exists and isn't disallowed (root), and has a valid shell.
229 * returns DROPBEAR_SUCCESS on valid username, DROPBEAR_FAILURE on failure */ 229 * returns DROPBEAR_SUCCESS on valid username, DROPBEAR_FAILURE on failure */
230 static int checkusername(unsigned char *username, unsigned int userlen) { 230 static int checkusername(char *username, unsigned int userlen) {
231 231
232 char* listshell = NULL; 232 char* listshell = NULL;
233 char* usershell = NULL; 233 char* usershell = NULL;
234 uid_t uid; 234 uid_t uid;
235 TRACE(("enter checkusername")) 235 TRACE(("enter checkusername"))