Exemple #1
0
bool
CheckKeyFileWriteAccess (connection_t *c)
{
   TCHAR keyfile[MAX_PATH];
   int format = 0;
   if (!GetKeyFilename (c, keyfile, _countof(keyfile), &format, true))
     return FALSE;
   else
     return CheckFileAccess (keyfile, GENERIC_WRITE);
}
Exemple #2
0
void ChangePassphraseThread(int config)
{
  HWND hwndChangePSW;
  MSG messages;
  char conn_name[100];
  char msg[100];
  char keyfilename[MAX_PATH];
  int keyfile_format=0;
  TCHAR buf[1000];

  /* Cut of extention from config filename. */
  strncpy(conn_name, o.cnn[config].config_file, sizeof(conn_name));
  conn_name[strlen(conn_name) - (strlen(o.ext_string)+1)]=0;

  /* Get Key filename from config file */
  if (!GetKeyFilename(config, keyfilename, sizeof(keyfilename), &keyfile_format))
    {
      ExitThread(1);
    }

  /* Show ChangePassphrase Dialog */  
  if (!(hwndChangePSW = CreateDialog (o.hInstance, 
        MAKEINTRESOURCE (IDD_CHANGEPSW),
        NULL, (DLGPROC) ChangePassphraseDialogFunc)))
    return;
  SetDlgItemText(hwndChangePSW, TEXT_KEYFILE, keyfilename); 
  SetDlgItemInt(hwndChangePSW, TEXT_KEYFORMAT, (UINT) keyfile_format, FALSE);

  myLoadString(INFO_CHANGE_PWD);
  mysnprintf(msg, buf, conn_name);
  SetWindowText(hwndChangePSW, msg);

  ShowWindow(hwndChangePSW, SW_SHOW);


  /* Run the message loop. It will run until GetMessage() returns 0 */
  while (GetMessage (&messages, NULL, 0, 0))
    {
      if(!IsDialogMessage(hwndChangePSW, &messages))
      {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
      }
    }

  ExitThread(0);
}
Exemple #3
0
static DWORD WINAPI
ChangePassphraseThread(LPVOID data)
{
  HWND hwndChangePSW;
  MSG messages;
  TCHAR conn_name[100];
  TCHAR keyfilename[MAX_PATH];
  int keyfile_format=0;
  connection_t *c = data;

  /* Cut of extention from config filename. */
  _tcsncpy(conn_name, c->config_file, _countof(conn_name));
  conn_name[_tcslen(conn_name) - (_tcslen(o.ext_string)+1)]=0;

  /* Get Key filename from config file */
  if (!GetKeyFilename(c, keyfilename, _countof(keyfilename), &keyfile_format, false))
    {
      ExitThread(1);
    }

  /* Show ChangePassphrase Dialog */  
  hwndChangePSW = CreateLocalizedDialog(ID_DLG_CHGPASS, ChangePassphraseDialogFunc);
  if (!hwndChangePSW)
    ExitThread(1);
  SetDlgItemText(hwndChangePSW, ID_TXT_KEYFILE, keyfilename); 
  SetDlgItemInt(hwndChangePSW, ID_TXT_KEYFORMAT, (UINT) keyfile_format, FALSE);

  SetWindowText(hwndChangePSW, LoadLocalizedString(IDS_NFO_CHANGE_PWD, conn_name));

  ShowWindow(hwndChangePSW, SW_SHOW);


  /* Run the message loop. It will run until GetMessage() returns 0 */
  while (GetMessage (&messages, NULL, 0, 0))
    {
      if(!IsDialogMessage(hwndChangePSW, &messages))
      {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
      }
    }

  CloseHandle (hwndChangePSW);
  ExitThread(0);
}