Diff for /libaitrpc/src/blob.c between versions 1.1.2.6 and 1.1.2.7

version 1.1.2.6, 2010/06/28 17:10:39 version 1.1.2.7, 2010/07/07 09:29:42
Line 13  rpc_srv_blobCreate(rpc_srv_t * __restrict srv, int len Line 13  rpc_srv_blobCreate(rpc_srv_t * __restrict srv, int len
         rpc_blob_t *blob = NULL;          rpc_blob_t *blob = NULL;
         char szFName[MAXPATHLEN];          char szFName[MAXPATHLEN];
         int f;          int f;
           u_int rnd;
   
           srandomdev();
           srandom(getpid() ^ time(NULL));
   again:
           rnd = random() % UINT_MAX;
   
         memset(szFName, 0, MAXPATHLEN);          memset(szFName, 0, MAXPATHLEN);
        snprintf(szFName, MAXPATHLEN, "%s/BLOB-XXXXXXXX", srv->srv_blob.dir);        snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, rnd);
        f = mkstemp(szFName);        f = open(szFName, O_CREAT | O_EXCL | O_RDWR, 0600);
         if (f == -1) {          if (f == -1) {
                   if (errno == EEXIST)
                           goto again;
   
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
         }          }
Line 48  rpc_srv_blobCreate(rpc_srv_t * __restrict srv, int len Line 57  rpc_srv_blobCreate(rpc_srv_t * __restrict srv, int len
                 close(f);                  close(f);
   
         blob->blob_len = len;          blob->blob_len = len;
        blob->blob_var = strtol(strrchr(szFName, '-') + 1, NULL, 16);        blob->blob_var = rnd;
         return blob;          return blob;
 }  }
   
Line 137  rpc_srv_blobFree(rpc_srv_t * __restrict srv, rpc_blob_ Line 146  rpc_srv_blobFree(rpc_srv_t * __restrict srv, rpc_blob_
   
         memset(szFName, 0, MAXPATHLEN);          memset(szFName, 0, MAXPATHLEN);
         snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, blob->blob_var);          snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, blob->blob_var);
           printf("remove %s\n", szFName);
         if (remove(szFName) == -1) {          if (remove(szFName) == -1) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
Line 262  rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t Line 272  rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t
         if (read(cli->cli_sock, &hdr, sizeof hdr) == -1) {          if (read(cli->cli_sock, &hdr, sizeof hdr) == -1) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
           }
           if (hdr.hdr_cmd != error) {
                   if (hdr.hdr_len != var->val_len) {
                           rpc_SetErr(EBADMSG, "Error:: Bad return length packet ...\n");
                           return -1;
                   }
   
                   var->val.blob = (void*) hdr.hdr_var;
         }          }
   
         return hdr.hdr_cmd == error;          return hdr.hdr_cmd == error;

Removed from v.1.1.2.6  
changed lines
  Added in v.1.1.2.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>