LCOV - code coverage report
Current view: top level - src - cmd.c (source / functions) Hit Total Coverage
Test: burp-coverage-clean.info Lines: 22 75 29.3 %
Date: 2015-11-30 Functions: 6 8 75.0 %

          Line data    Source code
       1             : #include "burp.h"
       2             : #include "cmd.h"
       3             : 
       4           0 : static char *cmd_to_text(enum cmd cmd)
       5             : {
       6             :         static char buf[256];
       7           0 :         size_t len=sizeof(buf);
       8           0 :         *buf='\0';
       9           0 :         switch(cmd)
      10             :         {
      11             :                 case CMD_ATTRIBS:
      12           0 :                         snprintf(buf, len, "File attribute information"); break;
      13             :                 case CMD_ATTRIBS_SIGS:
      14           0 :                         snprintf(buf, len, "File attribute information preceding block signatures"); break;
      15             :                 case CMD_SIG:
      16           0 :                         snprintf(buf, len, "Block signature"); break;
      17             :                 case CMD_DATA_REQ:
      18           0 :                         snprintf(buf, len, "Request for block of data"); break;
      19             :                 case CMD_DATA:
      20           0 :                         snprintf(buf, len, "Block data"); break;
      21             :                 case CMD_WRAP_UP:
      22           0 :                         snprintf(buf, len, "Control packet"); break;
      23             :                 case CMD_FILE:
      24           0 :                         snprintf(buf, len, "Plain file"); break;
      25             :                 case CMD_ENC_FILE:
      26           0 :                         snprintf(buf, len, "Encrypted file"); break;
      27             :                 case CMD_DIRECTORY:
      28           0 :                         snprintf(buf, len, "Directory"); break;
      29             :                 case CMD_SOFT_LINK:
      30           0 :                         snprintf(buf, len, "Soft link"); break;
      31             :                 case CMD_HARD_LINK:
      32           0 :                         snprintf(buf, len, "Hard link"); break;
      33             :                 case CMD_SPECIAL:
      34           0 :                         snprintf(buf, len, "Special file - fifo, socket, device node"); break;
      35             :                 case CMD_METADATA:
      36           0 :                         snprintf(buf, len, "Extra meta data"); break;
      37             :                 case CMD_GEN:
      38           0 :                         snprintf(buf, len, "Generic command"); break;
      39             :                 case CMD_ERROR:
      40           0 :                         snprintf(buf, len, "Error message"); break;
      41             :                 case CMD_APPEND:
      42           0 :                         snprintf(buf, len, "Append to a file"); break;
      43             :                 case CMD_INTERRUPT:
      44           0 :                         snprintf(buf, len, "Interrupt"); break;
      45             :                 case CMD_MESSAGE:
      46           0 :                         snprintf(buf, len, "Message"); break;
      47             :                 case CMD_WARNING:
      48           0 :                         snprintf(buf, len, "Warning"); break;
      49             :                 case CMD_END_FILE:
      50           0 :                         snprintf(buf, len, "End of file transmission"); break;
      51             :                 case CMD_ENC_METADATA:
      52           0 :                         snprintf(buf, len, "Encrypted meta data"); break;
      53             :                 case CMD_EFS_FILE:
      54           0 :                         snprintf(buf, len, "Windows EFS file"); break;
      55             :                 case CMD_FILE_CHANGED:
      56           0 :                         snprintf(buf, len, "Plain file changed"); break;
      57             :                 case CMD_TIMESTAMP:
      58           0 :                         snprintf(buf, len, "Backup timestamp"); break;
      59             :                 case CMD_TIMESTAMP_END:
      60           0 :                         snprintf(buf, len, "Timestamp now/end"); break;
      61             :                 case CMD_MANIFEST:
      62           0 :                         snprintf(buf, len, "Path to a manifest"); break;
      63             :                 case CMD_FINGERPRINT:
      64           0 :                         snprintf(buf, len, "Fingerprint part of a signature"); break;
      65             :                 case CMD_SAVE_PATH:
      66           0 :                         snprintf(buf, len, "Save path part of a signature"); break;
      67             : 
      68             :                 // For the status server/client */
      69             : 
      70             :                 case CMD_TOTAL:
      71           0 :                         snprintf(buf, len, "Total counter"); break;
      72             :                 case CMD_GRAND_TOTAL:
      73           0 :                         snprintf(buf, len, "Grand total counter"); break;
      74             :                 case CMD_BYTES_ESTIMATED:
      75           0 :                         snprintf(buf, len, "Bytes estimated"); break;
      76             :                 case CMD_BYTES:
      77           0 :                         snprintf(buf, len, "Bytes"); break;
      78             :                 case CMD_BYTES_RECV:
      79           0 :                         snprintf(buf, len, "Bytes received"); break;
      80             :                 case CMD_BYTES_SENT:
      81           0 :                         snprintf(buf, len, "Bytes sent"); break;
      82             : 
      83             :                 // Protocol1 only.
      84             :                 case CMD_DATAPTH:
      85           0 :                         snprintf(buf, len, "Path to data on the server"); break;
      86             :                 case CMD_VSS:
      87           0 :                         snprintf(buf, len, "Windows VSS header"); break;
      88             :                 case CMD_ENC_VSS:
      89           0 :                         snprintf(buf, len, "Encrypted windows VSS header"); break;
      90             :                 case CMD_VSS_T:
      91           0 :                         snprintf(buf, len, "Windows VSS footer"); break;
      92             :                 case CMD_ENC_VSS_T:
      93           0 :                         snprintf(buf, len, "Encrypted windows VSS footer"); break;
      94             : 
      95             :                 // No default so that we get compiler warnings when we forget
      96             :                 // to add new ones here.
      97             :         }
      98           0 :         if(!*buf) snprintf(buf, len, "----------------");
      99           0 :         return buf;
     100             : }
     101             : 
     102           0 : void cmd_print_all(void)
     103             : {
     104           0 :         int i=0;
     105           0 :         char cmds[256]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
     106           0 :         printf("\nIndex of symbols\n\n");
     107           0 :         for(i=0; cmds[i]; i++)
     108           0 :                 printf("  %c: %s\n", cmds[i], cmd_to_text((enum cmd)cmds[i]));
     109           0 :         printf("\n");
     110           0 : }
     111             : 
     112       58465 : int cmd_is_filedata(enum cmd cmd)
     113             : {
     114             :         return     cmd==CMD_FILE
     115       32019 :                 || cmd==CMD_ENC_FILE
     116       11119 :                 || cmd==CMD_METADATA
     117       10924 :                 || cmd==CMD_ENC_METADATA
     118       69194 :                 || cmd==CMD_EFS_FILE;
     119             : }
     120             : 
     121       10921 : int cmd_is_vssdata(enum cmd cmd)
     122             : {
     123             :         return     cmd==CMD_VSS
     124       10696 :                 || cmd==CMD_ENC_VSS
     125       10471 :                 || cmd==CMD_VSS_T
     126       21285 :                 || cmd==CMD_ENC_VSS_T;
     127             : }
     128             : 
     129       29322 : int cmd_is_link(enum cmd cmd)
     130             : {
     131       29322 :         return cmd==CMD_SOFT_LINK || cmd==CMD_HARD_LINK;
     132             : }
     133             : 
     134         256 : int cmd_is_endfile(enum cmd cmd)
     135             : {
     136         256 :         return cmd==CMD_END_FILE;
     137             : }
     138             : 
     139         256 : int cmd_is_encrypted(enum cmd cmd)
     140             : {
     141             :         return     cmd==CMD_ENC_FILE
     142         255 :                 || cmd==CMD_ENC_METADATA
     143         254 :                 || cmd==CMD_ENC_VSS
     144         253 :                 || cmd==CMD_ENC_VSS_T
     145         508 :                 || cmd==CMD_EFS_FILE;
     146             : }
     147             : 
     148         256 : int cmd_is_metadata(enum cmd cmd)
     149             : {
     150         256 :         return cmd_is_vssdata(cmd)
     151         252 :                 || cmd==CMD_METADATA
     152         507 :                 || cmd==CMD_ENC_METADATA;
     153             : }

Generated by: LCOV version 1.10