#include #include #include "libauthSamba.h" char User[30]; char Password[30]; char Workgroup[30]; /*----------------------------------------------------------------------------- * set_fn *---------------------------------------------------------------------------*/ void set_fn(char *workgroup, char *username, char *password) { strcpy(User, username); strcpy(Password, password); strcpy(Workgroup, workgroup); } /*----------------------------------------------------------------------------- * auth_fn *---------------------------------------------------------------------------*/ void auth_fn(const char *server, const char *share, char *workgroup, int wgmaxlen, char *username, int unmaxlen, char *password, int pwmaxlen) { strcpy(workgroup, Workgroup); wgmaxlen = 30; strcpy(username, User); unmaxlen = 30; strcpy(password, Password); pwmaxlen = 30; } /*----------------------------------------------------------------------------- * ask_auth_fn *---------------------------------------------------------------------------*/ void ask_auth_fn(const char *server, const char *share, char *workgroup, int wgmaxlen, char *username, int unmaxlen, char *password, int pwmaxlen) { char temp[128]; fprintf(stdout, "Need password for //%s/%s\n", server, share); fprintf(stdout, "Enter workgroup: [%s] ", workgroup); fgets(temp, sizeof(temp), stdin); if (temp[strlen(temp) - 1] == 0x0a) /* A new line? */ temp[strlen(temp) - 1] = 0x00; if (temp[0]) strncpy(workgroup, temp, wgmaxlen - 1); fprintf(stdout, "Enter username: [%s] ", username); fgets(temp, sizeof(temp), stdin); if (temp[strlen(temp) - 1] == 0x0a) /* A new line? */ temp[strlen(temp) - 1] = 0x00; if (temp[0]) strncpy(username, temp, unmaxlen - 1); fprintf(stdout, "Enter password: [%s] ", password); fgets(temp, sizeof(temp), stdin); if (temp[strlen(temp) - 1] == 0x0a) /* A new line? */ temp[strlen(temp) - 1] = 0x00; if (temp[0]) strncpy(password, temp, pwmaxlen - 1); }