~yolanda.robla/ubuntu/saucy/clamav/dep-8-tests

« back to all changes in this revision

Viewing changes to freshclam/manager.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Tautschnig, Michael Tautschnig
  • Date: 2009-11-02 10:24:35 UTC
  • mfrom: (0.39.5 squeeze)
  • mto: (122.1.1 raring-security)
  • mto: This revision was merged to the branch mainline in revision 73.
  • Revision ID: james.westby@ubuntu.com-20091102102435-yzkn3jdvo4gank3q
Tags: 0.95.3+dfsg-1
[ Michael Tautschnig ]
* New upstream version
* Should fix clamd segfault on startup (closes: #537629)
* Updated info in clamd.conf man page (closes: #534443)
* Proper socket ownership setup, no chgrp in make_dir (closes: #553333)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1066
1066
#else
1067
1067
        if((i >= sizeof(buffer) - 1) || recv(sd, buffer + i, 1, 0) == -1) {
1068
1068
#endif
1069
 
            logg("%cgetfile: Error while reading database from %s (IP: %s)\n", logerr ? '!' : '^', hostname, ipaddr);
 
1069
            logg("%cgetfile: Error while reading database from %s (IP: %s): %s\n", logerr ? '!' : '^', hostname, ipaddr, strerror(errno));
1070
1070
            mirman_update(mdat->currip, mdat->af, mdat, 1);
1071
1071
            closesocket(sd);
1072
1072
            return 52;
1156
1156
    closesocket(sd);
1157
1157
    close(fd);
1158
1158
 
 
1159
    if(bread == -1) {
 
1160
        logg("%cgetfile: Download interrupted: %s (IP: %s)\n", logerr ? '!' : '^', strerror(errno), ipaddr);
 
1161
        mirman_update(mdat->currip, mdat->af, mdat, 1);
 
1162
        return 52;
 
1163
    }
 
1164
 
1159
1165
    if(totalsize > 0)
1160
1166
        logg("Downloading %s [%i%%]\n", srcfile, percentage);
1161
1167
    else
1409
1415
        else
1410
1416
            close(fd);
1411
1417
        unlink(newfile);
 
1418
        closedir(dir);
1412
1419
        return -1;
1413
1420
    }
1414
1421
 
1677
1684
        return 55; /* FIXME */
1678
1685
    }
1679
1686
 
1680
 
    if(!nodb && !access(localname, R_OK) && unlink(localname)) {
1681
 
        logg("!Can't unlink %s. Please fix it and try again.\n", localname);
1682
 
        unlink(newfile);
1683
 
        free(newfile);
1684
 
        return 53;
1685
 
    }
1686
 
 
1687
1687
#ifdef C_WINDOWS
1688
1688
    if(!access(newdb, R_OK) && unlink(newdb)) {
1689
1689
        logg("!Can't unlink %s. Please fix the problem manually and try again.\n", newdb);
1690
1690
        unlink(newfile);
1691
1691
        free(newfile);
 
1692
        cl_cvdfree(current);
1692
1693
        return 53;
1693
1694
    }
1694
1695
#endif
1697
1698
        logg("!Can't rename %s to %s: %s\n", newfile, newdb, strerror(errno));
1698
1699
        unlink(newfile);
1699
1700
        free(newfile);
 
1701
        cl_cvdfree(current);
1700
1702
        return 57;
1701
1703
    }
1702
1704
    free(newfile);
1703
1705
 
 
1706
    if(!nodb && !access(localname, R_OK) && strcmp(newdb, localname))
 
1707
        if(unlink(localname))
 
1708
            logg("^Can't unlink the old database file %s. Please remove it manually.\n", localname);
 
1709
 
1704
1710
    logg("%s updated (version: %d, sigs: %d, f-level: %d, builder: %s)\n", newdb, current->version, current->sigs, current->fl, current->builder);
1705
1711
 
1706
1712
    if(flevel < current->fl) {