/[winpt]/trunk/Src/wptFileStatDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptFileStatDlg.cpp

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

revision 2 by twoaday, Mon Jan 31 11:02:21 2005 UTC revision 22 by twoaday, Wed Aug 10 11:33:35 2005 UTC
# Line 1  Line 1 
1  /* wptFileStatDlg.cpp - (File Manager) Show file statistics  /* wptFileStatDlg.cpp - (File Manager) Show file statistics
2   *      Copyright (C) 2002, 2003 Timo Schulz   *      Copyright (C) 2002, 2003, 2005 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
# Line 48  get_pubkey_algo( int algo ) Line 48  get_pubkey_algo( int algo )
48  static const char*  static const char*
49  get_symkey_algo (int algo)  get_symkey_algo (int algo)
50  {  {
51      switch (algo)      switch (algo) {
     {  
52      case 0: return "PLAINTEXT";      case 0: return "PLAINTEXT";
53      case 1: return "IDEA";      case 1: return "IDEA";
54      case 2: return "3DES";      case 2: return "3DES";
# Line 67  get_symkey_algo (int algo) Line 66  get_symkey_algo (int algo)
66  static const char*  static const char*
67  get_digest_algo (int algo)  get_digest_algo (int algo)
68  {  {
69      switch (algo)      switch (algo) {
     {  
70      case 0: return "NONE";      case 0: return "NONE";
71      case 1: return "MD5";      case 1: return "MD5";
72      case 2: return "SHA1";      case 2: return "SHA1";
# Line 77  get_digest_algo (int algo) Line 75  get_digest_algo (int algo)
75      case 5: return "MD2";      case 5: return "MD2";
76      case 6: return "RESERVED";      case 6: return "RESERVED";
77      case 7: return "RESERVED";      case 7: return "RESERVED";
78        case 8: return "SHA256";
79        case 9: return "SHA384";
80        case 10:return "SHA512";
81      }      }
82      return "UNKNOWN";      return "UNKNOWN";
83  } /* get_digest_algo */  } /* get_digest_algo */
# Line 84  get_digest_algo (int algo) Line 85  get_digest_algo (int algo)
85  static const char*  static const char*
86  get_compress_algo (int algo)  get_compress_algo (int algo)
87  {  {
88      switch (algo)      switch (algo) {
     {  
89      case 0: return "NONE";      case 0: return "NONE";
90      case 1: return "ZIB";      case 1: return "ZIB";
91      case 2: return "ZLIB";      case 2: return "ZLIB";
# Line 114  do_list_packets (HWND list, const char * Line 114  do_list_packets (HWND list, const char *
114      PACKET *pkt = (PACKET *)calloc( 1, sizeof *pkt );      PACKET *pkt = (PACKET *)calloc( 1, sizeof *pkt );
115      gpg_iobuf_t inp = NULL;      gpg_iobuf_t inp = NULL;
116      armor_filter_context_t afx;      armor_filter_context_t afx;
117        size_t n=0;
118      int rc = 0;      int rc = 0;
119      char inf[1024];      char inf[1024];
120    
121      if( !list || file == NULL ) {      if (!list || file == NULL) {
122          safe_free( pkt );          safe_free (pkt);
123          return -1;          return -1;
124      }      }
125    
126      inp = gpg_iobuf_open( file );      inp = gpg_iobuf_open (file);
127      if( inp == NULL ) {      if( inp == NULL ) {
128          log_box( _("File Manager"), MB_ERR, "%s: %s", file,          log_box( _("File Manager"), MB_ERR, "%s: %s", file,
129                   winpt_strerror( WPTERR_FILE_OPEN ) );                   winpt_strerror( WPTERR_FILE_OPEN ) );
# Line 136  do_list_packets (HWND list, const char * Line 137  do_list_packets (HWND list, const char *
137      }        }  
138      gpg_init_packet( pkt );      gpg_init_packet( pkt );
139      while ( (rc = gpg_parse_packet( inp, pkt )) != -1 ) {      while ( (rc = gpg_parse_packet( inp, pkt )) != -1 ) {
140          switch ( pkt->pkttype ) {                switch ( pkt->pkttype ) {
141          case PKT_PUBKEY_ENC:          case PKT_PUBKEY_ENC:
142              {PKT_pubkey_enc *enc = pkt->pkt.pubkey_enc;              {PKT_pubkey_enc *enc = pkt->pkt.pubkey_enc; n++;
143              if (!enc)              if (!enc)
144                  break;                  break;
145              _snprintf( inf, sizeof(inf)-1,                    _snprintf( inf, sizeof(inf)-1,      
146                  "public key encryted packet: version %d, algo %s, keyid 0x%08X",                                  "public key encryted packet: version %d, algo %s, keyid 0x%08X",                
147                  enc->version, get_pubkey_algo(enc->pubkey_algo), enc->keyid[1]);                  enc->version, get_pubkey_algo(enc->pubkey_algo), enc->keyid[1]);
148              listbox_add_string( list, inf );}              listbox_add_string (list, inf);}
149              break;              break;
150                                    
151          case PKT_SYMKEY_ENC:          case PKT_SYMKEY_ENC:
152              {PKT_symkey_enc *enc = pkt->pkt.symkey_enc;              {PKT_symkey_enc *enc = pkt->pkt.symkey_enc; n++;
153              if (!enc)              if (!enc)
154                  break;                  break;
155              _snprintf( inf, sizeof(inf)-1,                    _snprintf( inf, sizeof(inf)-1,      
# Line 160  do_list_packets (HWND list, const char * Line 161  do_list_packets (HWND list, const char *
161    
162          case PKT_ENCRYPTED:              case PKT_ENCRYPTED:    
163          case PKT_ENCRYPTED_MDC:          case PKT_ENCRYPTED_MDC:
164              {PKT_encrypted *enc = pkt->pkt.encrypted;              {PKT_encrypted *enc = pkt->pkt.encrypted; n++;
165              if (!enc)              if (!enc)
166                  break;                  break;
167              _snprintf( inf, sizeof(inf)-1,                    _snprintf( inf, sizeof(inf)-1,      
# Line 171  do_list_packets (HWND list, const char * Line 172  do_list_packets (HWND list, const char *
172    
173          case PKT_PUBLIC_KEY:          case PKT_PUBLIC_KEY:
174          case PKT_PUBLIC_SUBKEY:          case PKT_PUBLIC_SUBKEY:
175              {PKT_public_key *pk = pkt->pkt.public_key;              {PKT_public_key *pk = pkt->pkt.public_key; n++;
176              if (!pk)              if (!pk)
177                  break;                  break;
178              _snprintf( inf, sizeof(inf)-1,              _snprintf( inf, sizeof(inf)-1,
# Line 183  do_list_packets (HWND list, const char * Line 184  do_list_packets (HWND list, const char *
184    
185          case PKT_SECRET_KEY:          case PKT_SECRET_KEY:
186          case PKT_SECRET_SUBKEY:              case PKT_SECRET_SUBKEY:    
187              {PKT_secret_key *sk = pkt->pkt.secret_key;              {PKT_secret_key *sk = pkt->pkt.secret_key; n++;
188              if (!sk)              if (!sk)
189                  break;                  break;
190              _snprintf( inf, sizeof(inf)-1,              _snprintf( inf, sizeof(inf)-1,
# Line 196  do_list_packets (HWND list, const char * Line 197  do_list_packets (HWND list, const char *
197    
198                                    
199          case PKT_SIGNATURE:          case PKT_SIGNATURE:
200              {PKT_signature *sig = pkt->pkt.signature;              {PKT_signature *sig = pkt->pkt.signature; n++;
201              if (!sig)              if (!sig)
202                  break;                  break;
203              _snprintf( inf, sizeof(inf)-1,              _snprintf( inf, sizeof(inf)-1,
# Line 208  do_list_packets (HWND list, const char * Line 209  do_list_packets (HWND list, const char *
209    
210                                    
211          case PKT_USER_ID:          case PKT_USER_ID:
212              {PKT_user_id *id = pkt->pkt.user_id;              {PKT_user_id *id = pkt->pkt.user_id; n++;
213              if (!id)              if (!id)
214                  break;                  break;
215              _snprintf( inf, sizeof(inf)-1, "user id packet: %s", id->name );              _snprintf( inf, sizeof(inf)-1, "user id packet: %s", id->name );
# Line 216  do_list_packets (HWND list, const char * Line 217  do_list_packets (HWND list, const char *
217              break;              break;
218                            
219          case PKT_COMPRESSED:          case PKT_COMPRESSED:
220              {PKT_compressed *zip = pkt->pkt.compressed;              {PKT_compressed *zip = pkt->pkt.compressed; n++;
221              if (!zip)              if (!zip)
222                  break;                  break;
223              _snprintf( inf, sizeof(inf)-1, "compressed packet: algo %s, length %d",              _snprintf( inf, sizeof(inf)-1, "compressed packet: algo %s, length %d",
# Line 224  do_list_packets (HWND list, const char * Line 225  do_list_packets (HWND list, const char *
225              listbox_add_string( list, inf ); }              listbox_add_string( list, inf ); }
226              break;              break;
227          }          }
228          gpg_free_packet( pkt );          gpg_free_packet (pkt);
229          gpg_init_packet( pkt );          gpg_init_packet (pkt);
230      }      }
231      gpg_iobuf_close( inp );      gpg_iobuf_close (inp);
232      safe_free( pkt );      safe_free (pkt);
233      return rc;      return n;
234  } /* do_list_packets */  } /* do_list_packets */
235    
236    
237  BOOL CALLBACK  BOOL CALLBACK
238  file_stat_dlg_proc( HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam )  file_stat_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
239  {  {
240      const char *file;      const char *file;
241        int n;
242            
243      switch ( msg ) {      switch ( msg ) {
244      case WM_INITDIALOG:      case WM_INITDIALOG:
# Line 244  file_stat_dlg_proc( HWND dlg, UINT msg, Line 246  file_stat_dlg_proc( HWND dlg, UINT msg,
246          SetWindowText( dlg, _("File Status") );          SetWindowText( dlg, _("File Status") );
247          #endif          #endif
248          file = (const char*)lparam;          file = (const char*)lparam;
249          if( file == NULL )          if (file == NULL)
250              dlg_fatal_error( dlg, "Could not get dialog state!" );              dlg_fatal_error( dlg, "Could not get dialog state!" );
251          do_list_packets( GetDlgItem( dlg, IDC_FILE_STAT_LIST ), file );          n = do_list_packets( GetDlgItem( dlg, IDC_FILE_STAT_LIST ), file );
252          SetForegroundWindow( dlg );          if (n < 1) {
253                msg_box (dlg, _("No valid OpenPGP data found."), _("File Status"), MB_ERR);
254                EndDialog (dlg, FALSE);
255            }
256            SetForegroundWindow (dlg);
257          break;          break;
258                    
259      case WM_SYSCOMMAND:      case WM_SYSCOMMAND:

Legend:
Removed from v.2  
changed lines
  Added in v.22

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26