~ubuntu-branches/ubuntu/hardy/clamav/hardy-backports

« back to all changes in this revision

Viewing changes to clamdscan/client.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Meskes, Stephen Gran, Michael Meskes, Michael Tautschnig
  • Date: 2008-11-29 12:15:34 UTC
  • mfrom: (1.1.1 upstream)
  • mto: (4.1.3 sid) (0.5.4 karmic)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20081129121534-8sbpoy6kr01ox2eo
[ Stephen Gran ]
* New upstream version

[ Michael Meskes ]
* Removed unused debconf templates and unfuzzied all translations.

[ Michael Tautschnig ]
* Removed --unzip from clampipe script (closes: #506055)
* Moved clamav-milter specific stuff from its specific README.Debian to
  clamav-global one.
* Sync start of clamav-milter with clamav-daemon when clamav-daemon is being
  upgraded (closes: #309067)
* The TemporaryDirectory option has been added long ago, no need for hacks
  via clamav-daemon.default anymore (closes: #253080)

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
#include "client.h"
51
51
#include "clamd_fdscan.h"
52
52
 
53
 
#ifdef PF_INET
54
 
# define SOCKET_INET    PF_INET
55
 
#else
56
 
# define SOCKET_INET    AF_INET
57
 
#endif
 
53
#define SOCKET_INET     AF_INET
58
54
 
59
55
void move_infected(const char *filename, const struct optstruct *opt);
60
56
int notremoved = 0, notmoved = 0;
 
57
int printinfected = 0;
61
58
 
62
59
static int dsresult(int sockd, const struct optstruct *opt)
63
60
{
135
132
 
136
133
    ret = dsresult(sockd, opt);
137
134
 
138
 
    if(!ret)
 
135
    if(!ret && !printinfected)
139
136
        logg("~%s: OK\n", filename);
140
137
 
141
138
    return ret;
360
357
 
361
358
    if(write(sockd, "VERSION", 7) <= 0) {
362
359
        logg("^Can't write to the socket.\n");
 
360
        close(sockd);
363
361
        return 2;
364
362
    }
365
363
 
372
370
    return 0;
373
371
}
374
372
 
 
373
int reload_clamd_database(const struct optstruct *opt)
 
374
{
 
375
        char buff[64];
 
376
        int bread, sockd;
 
377
 
 
378
 
 
379
    if((sockd = dconnect(opt, NULL)) < 0)
 
380
        return 2;
 
381
 
 
382
    if(write(sockd, "RELOAD", 6) <= 0) {
 
383
        logg("!Can't write to the socket.\n");
 
384
        close(sockd);
 
385
        return 2;
 
386
    }
 
387
 
 
388
    bread = read(sockd, buff, sizeof(buff) - 1);
 
389
    if(bread == -1 || strncmp(buff, "RELOADING", 9)) {
 
390
        logg("!Incorrect reply from clamd\n");
 
391
        close(sockd);
 
392
        return 2;
 
393
    }
 
394
 
 
395
    close(sockd);
 
396
    return 0;
 
397
}
 
398
 
375
399
int client(const struct optstruct *opt, int *infected)
376
400
{
377
401
        char cwd[PATH_MAX+1], *fullpath;
421
445
                        char buff[4096];
422
446
                        memset(buff, 0, sizeof(buff));
423
447
                        ret = clamd_fdscan(sockd, 0, buff, sizeof(buff));
424
 
                        logg("fd: %s%s",buff, ret == 1 ? " FOUND" : ret == -1 ? " ERROR" : "OK");
 
448
                        if(ret == 1 || ret == -1)
 
449
                            logg("fd: %s%s\n",buff, ret == 1 ? " FOUND" : " ERROR");
 
450
                        else if(!printinfected)
 
451
                            logg("fd: OK\n");
425
452
                }
426
453
#endif
427
454
        } else