/[openpgpmdrv]/trunk/OpenPGPminidriver/PublicDataOperations.c
ViewVC logotype

Diff of /trunk/OpenPGPminidriver/PublicDataOperations.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9 by vletoux, Mon Mar 15 09:47:30 2010 UTC revision 10 by vletoux, Mon Mar 15 18:23:17 2010 UTC
# Line 34  typedef enum _OPENPGP_FILE_TYPE Line 34  typedef enum _OPENPGP_FILE_TYPE
34  #define OPENPGP_FILE_OPTIONAL 1  #define OPENPGP_FILE_OPTIONAL 1
35  #define OPENPGP_FILE_WRITE_ONLY 2  #define OPENPGP_FILE_WRITE_ONLY 2
36  #define OPENPGP_FILE_NULL_LENGHT_EQUALS_MISSING 4  #define OPENPGP_FILE_NULL_LENGHT_EQUALS_MISSING 4
37    #define OPENPGP_FILE_CONF_IS_AUTH 8
38    
39  typedef struct _OPENPGP_FILE  typedef struct _OPENPGP_FILE
40  {  {
# Line 70  OPENPGP_FILE Files[] = Line 71  OPENPGP_FILE Files[] =
71          {NULL, szCARD_APPLICATION_FILE, Virtual, 0, 0, EveryoneReadAdminWriteAc},          {NULL, szCARD_APPLICATION_FILE, Virtual, 0, 0, EveryoneReadAdminWriteAc},
72          {NULL, szCACHE_FILE, Virtual, 0, 0, EveryoneReadUserWriteAc},          {NULL, szCACHE_FILE, Virtual, 0, 0, EveryoneReadUserWriteAc},
73          {szBASE_CSP_DIR, szCONTAINER_MAP_FILE, Virtual, 0, 0, EveryoneReadUserWriteAc},          {szBASE_CSP_DIR, szCONTAINER_MAP_FILE, Virtual, 0, 0, EveryoneReadUserWriteAc},
74          {szBASE_CSP_DIR, "ksc1", StoredOnSmartCard, 0x7F21, 0, EveryoneReadAdminWriteAc, OPENPGP_FILE_NULL_LENGHT_EQUALS_MISSING},          {szBASE_CSP_DIR, "ksc1", StoredOnSmartCard, 0x7F21, 0, EveryoneReadAdminWriteAc, OPENPGP_FILE_NULL_LENGHT_EQUALS_MISSING | OPENPGP_FILE_CONF_IS_AUTH},
75            {szBASE_CSP_DIR, "ksc2", StoredOnSmartCard, 0x7F21, 0, EveryoneReadAdminWriteAc, OPENPGP_FILE_NULL_LENGHT_EQUALS_MISSING},
76    
77  };  };
78    
# Line 237  DWORD OCardEnumFile(__in PCARD_DATA  pCa Line 239  DWORD OCardEnumFile(__in PCARD_DATA  pCa
239                                          __in_opt PSTR szDirectory,                                          __in_opt PSTR szDirectory,
240                                          __in PBYTE* pbResponse, __in PDWORD pdwResponseSize)                                          __in PBYTE* pbResponse, __in PDWORD pdwResponseSize)
241  {  {
242          DWORD dwReturn = 0, dwReadFileReturn;          DWORD dwReturn = 0, dwTempReturn;
243          DWORD dwI, dwSize;          DWORD dwI, dwSize;
244          BOOL fDirectoryFound = FALSE;          BOOL fDirectoryFound = FALSE;
245          BOOL fAddToOuput;          BOOL fAddToOuput;
# Line 296  DWORD OCardEnumFile(__in PCARD_DATA  pCa Line 298  DWORD OCardEnumFile(__in PCARD_DATA  pCa
298                                          DWORD dwSize;                                          DWORD dwSize;
299                                          fAddToOuput = FALSE;                                          fAddToOuput = FALSE;
300                                          // check if the file exists and be read                                          // check if the file exists and be read
301                                          dwReadFileReturn = OCardReadFile(pCardData, szDirectory, Files[dwI].szFile, &pbData, &dwSize);                                          dwTempReturn = OCardReadFile(pCardData, szDirectory, Files[dwI].szFile, &pbData, &dwSize);
302                                          if (!dwReadFileReturn)                                          if (!dwTempReturn)
303                                          {                                          {
304                                                  pCardData->pfnCspFree(pbData);                                                  pCardData->pfnCspFree(pbData);
305                                                  if (dwSize > 0)                                                  if (dwSize > 0)
# Line 306  DWORD OCardEnumFile(__in PCARD_DATA  pCa Line 308  DWORD OCardEnumFile(__in PCARD_DATA  pCa
308                                                  }                                                  }
309                                          }                                          }
310                                  }                                  }
311                                    if (fAddToOuput && (Files[dwI].dwFlag & OPENPGP_FILE_CONF_IS_AUTH))
312                                    {
313                                            dwTempReturn = OCardIsConfidentialityKeyTheSameThanAuthentication(pCardData);
314                                            if (dwReturn)
315                                            {
316                                                    fAddToOuput = FALSE;
317                                            }
318                                    }
319                                  if (fAddToOuput)                                  if (fAddToOuput)
320                                  {                                  {
321                                          dwSize = (DWORD) strlen( Files[dwI].szFile) + 1;                                          dwSize = (DWORD) strlen( Files[dwI].szFile) + 1;

Legend:
Removed from v.9  
changed lines
  Added in v.10

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26