From: Asanka Herath Date: Fri, 7 Nov 2008 18:19:38 +0000 (+0000) Subject: windows-nim-afs-longer-cell-names-20081107 X-Git-Tag: openafs-devel-1_5_61~708 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=99e202b073c35a5c7d76a66a9d9cd2d0b9a6c73d;p=packages%2Fo%2Fopenafs.git windows-nim-afs-longer-cell-names-20081107 LICENSE MIT permit cell and realm names to be longer than the input field. --- diff --git a/src/WINNT/netidmgr_plugin/afsfuncs.c b/src/WINNT/netidmgr_plugin/afsfuncs.c index a4e7137fd..34a564fa7 100644 --- a/src/WINNT/netidmgr_plugin/afsfuncs.c +++ b/src/WINNT/netidmgr_plugin/afsfuncs.c @@ -735,8 +735,8 @@ afs_klog(khm_handle identity, CREDENTIALS creds; struct ktc_principal aserver; struct ktc_principal aclient; - char realm_of_user[REALM_SZ]; /* Kerberos realm of user */ - char realm_of_cell[REALM_SZ]; /* Kerberos realm of cell */ + char realm_of_user[MAXKTCREALMLEN]; /* Kerberos realm of user */ + char realm_of_cell[MAXKTCREALMLEN]; /* Kerberos realm of cell */ char local_cell[MAXCELLCHARS+1]; char Dmycell[MAXCELLCHARS+1]; struct ktc_token atoken; @@ -837,8 +837,8 @@ afs_klog(khm_handle identity, pkrb5_cc_get_principal(context, k5cc, &client_principal); i = krb5_princ_realm(context, client_principal)->length; - if (i > REALM_SZ-1) - i = REALM_SZ-1; + if (i > MAXKTCREALMLEN-1) + i = MAXKTCREALMLEN-1; StringCchCopyNA(realm_of_user, ARRAYLENGTH(realm_of_user), krb5_princ_realm(context, client_principal)->data, i); @@ -1158,6 +1158,7 @@ afs_klog(khm_handle identity, _reportf(L"Kerberos 4 not configured"); if (!bGotCreds && supports_krb4 && + strlen(RealmName) < REALM_SZ && (method == AFS_TOKEN_AUTO || method == AFS_TOKEN_KRB4)) { @@ -1315,7 +1316,7 @@ static char * afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback) { char krbhst[MAX_HSTNM]=""; - static char krbrlm[REALM_SZ+1]=""; + static char krbrlm[MAXKTCREALMLEN+1]=""; krb5_context ctx = 0; char ** realmlist=NULL; krb5_error_code r = 0; diff --git a/src/WINNT/netidmgr_plugin/afsnewcreds.c b/src/WINNT/netidmgr_plugin/afsnewcreds.c index 16c03ee41..ff91161e4 100644 --- a/src/WINNT/netidmgr_plugin/afsnewcreds.c +++ b/src/WINNT/netidmgr_plugin/afsnewcreds.c @@ -1563,6 +1563,10 @@ afs_dlg_proc(HWND hwnd, SendDlgItemMessage(hwnd, IDC_NCAFS_OBTAIN, BM_SETCHECK, BST_CHECKED, 0); + SendDlgItemMessage(hwnd, IDC_NCAFS_CELL, CB_LIMITTEXT, MAXCELLCHARS-1, 0); + SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, CB_LIMITTEXT, MAXKTCREALMLEN-1, 0); + SendDlgItemMessage(hwnd, IDC_NCAFS_METHOD, CB_LIMITTEXT, KCDB_MAXCCH_NAME-1, 0); + LeaveCriticalSection(&d->cs); /* the cells and realms combo boxes need to be filled @@ -2654,7 +2658,7 @@ afs_msg_newcred(khm_int32 msg_subtype, for(i=0; in_rows; i++) { int code; char cell[MAXCELLCHARS]; - char realm[MAXCELLCHARS]; + char realm[MAXKTCREALMLEN]; char linkedCell[MAXCELLCHARS]=""; khm_handle ctoken; FILETIME ft_old; @@ -2714,7 +2718,7 @@ afs_msg_newcred(khm_int32 msg_subtype, getLinked: _report_cs3(KHERR_INFO, L"Getting tokens for cell %1!S! with realm %2!S! using method %3!d!", - _cstr(bgetLinked ? linkedCell: cell), + _cstr((bgetLinked ? linkedCell: cell)), _cstr(realm), _int32(method)); _resolve(); diff --git a/src/WINNT/netidmgr_plugin/afspext.h b/src/WINNT/netidmgr_plugin/afspext.h index d30bffbba..85414a169 100644 --- a/src/WINNT/netidmgr_plugin/afspext.h +++ b/src/WINNT/netidmgr_plugin/afspext.h @@ -40,8 +40,8 @@ @{*/ -#define MAXCELLCHARS 64 -#define MAXHOSTCHARS 64 +#define MAXCELLCHARS 256 +#define MAXHOSTCHARS 256 #define MAXHOSTSPERCELL 8 #define TRANSARCAFSDAEMON "TransarcAFSDaemon" diff --git a/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc b/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc index c206157f0..ad25c7221 100644 --- a/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc +++ b/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc @@ -61,11 +61,11 @@ BEGIN CONTROL "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,19,140,12 GROUPBOX "Credential for",IDC_STATIC,7,32,286,54 LTEXT "&Cell",IDC_STATIC,12,41,42,10 - COMBOBOX IDC_NCAFS_CELL,57,38,152,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_CELL,57,38,152,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "&Realm",IDC_STATIC,12,57,42,10 - COMBOBOX IDC_NCAFS_REALM,57,54,152,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_REALM,57,54,152,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "&Method",IDC_STATIC,12,73,42,10 - COMBOBOX IDC_NCAFS_METHOD,57,70,152,48,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_METHOD,57,70,152,48,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Add/Update",IDC_NCAFS_ADD_TOKEN,213,38,77,13,BS_NOTIFY PUSHBUTTON "&Delete",IDC_NCAFS_DELETE_TOKEN,213,70,77,13,BS_NOTIFY CONTROL "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,88,286,71 @@ -88,11 +88,11 @@ BEGIN CONTROL "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,140,12 GROUPBOX "Credential for",IDC_STATIC,7,18,221,56 LTEXT "&Cell",IDC_STATIC,13,28,42,10 - COMBOBOX IDC_NCAFS_CELL,57,25,109,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_CELL,57,25,109,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "&Realm",IDC_STATIC,13,44,42,10 - COMBOBOX IDC_NCAFS_REALM,57,41,109,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_REALM,57,41,109,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "&Method",IDC_STATIC,13,60,42,10 - COMBOBOX IDC_NCAFS_METHOD,57,57,109,48,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_NCAFS_METHOD,57,57,109,48,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Add/Update",IDC_NCAFS_ADD_TOKEN,174,26,50,13,BS_NOTIFY PUSHBUTTON "&Delete",IDC_NCAFS_DELETE_TOKEN,174,56,50,13,BS_NOTIFY CONTROL "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,75,221,69