~ubuntu-branches/debian/sid/samhain/sid

« back to all changes in this revision

Viewing changes to src/samhain_hide.c

  • Committer: Bazaar Package Importer
  • Author(s): Javier Fernandez-Sanguino Pen~a
  • Date: 2006-08-19 10:38:36 UTC
  • mfrom: (1.2.1 upstream) (3.1.2 edgy)
  • Revision ID: james.westby@ubuntu.com-20060819103836-3mhhosrrqe1h33zv
Tags: 2.2.3-2
Disable GCC_STACK_PROTECT from the autoconf definition as this
introduces a FTBFS currently. Should be reenabled once this
issue is fixed (Closes: #382617)

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 *   "someString" (in quotes !).
19
19
 */
20
20
 
 
21
/* #define _(string) string */
 
22
#include "config.h" 
 
23
 
 
24
#undef _
21
25
#define _(string) string
22
 
#include "config.h" 
23
26
 
24
27
/* define if this is a 2.6 kernel                 */
25
28
/* #define LINUX26                                */
210
213
 */
211
214
static int removeme = 1;
212
215
 
 
216
#ifdef MODULE_PARM 
213
217
MODULE_PARM (removeme, "i");
 
218
#else
 
219
module_param(removeme, int, 0444);
 
220
#endif
 
221
 
 
222
#ifdef MODULE_PARM_DESC
 
223
MODULE_PARM_DESC(removeme, "Choose zero for not hiding.");
 
224
#endif
 
225
 
 
226
/* LINUX26 */
214
227
#endif
215
228
 
216
229
 
314
327
{
315
328
  int                  status = 0;    /* Return value from original getdents */
316
329
  struct inode       * dir_inode;
 
330
  struct file        * fd_file;
317
331
  int                  dir_is_proc = 0;
318
332
 
319
333
  struct dirent      * dirp_prev;
333
347
#ifdef FILE_DEBUG
334
348
  printk("STATUS %d\n", status);
335
349
#endif
336
 
 
 
350
  
337
351
  /*  0: end of directory.
338
352
   * -1: some error
339
353
   */
342
356
      unlock_kernel();
343
357
      return (status);
344
358
    }
345
 
 
 
359
  
346
360
  /* Handle directory caching. dir_inode is the inode of the directory.
347
361
   */
 
362
#if defined(files_fdtable)
 
363
  {
 
364
    struct fdtable *fdt = files_fdtable(current->files);
 
365
    fd_file = rcu_dereference(fdt->fd[fd]);
 
366
  }
 
367
#else
 
368
  {
 
369
    fd_file = current->files->fd[fd];
 
370
  }
 
371
#endif
 
372
  
348
373
#if defined(__LINUX_DCACHE_H)
349
 
  dir_inode  = current->files->fd[fd]->f_dentry->d_inode;
 
374
  dir_inode  = fd_file->f_dentry->d_inode;
350
375
#else
351
 
  dir_inode  = current->files->fd[fd]->f_inode;
 
376
  dir_inode  = fd_file->f_inode;
352
377
#endif
353
378
 
354
379
  /* Check for the /proc directory
495
520
{
496
521
  long                 status = 0;    /* Return value from original getdents */
497
522
  struct inode       * dir_inode;
 
523
  struct file        * fd_file;
498
524
  int                  dir_is_proc = 0;
499
525
 
500
526
  struct dirent64    * dirp_prev;
526
552
 
527
553
  /* Handle directory caching. dir_inode is the inode of the directory.
528
554
   */
 
555
#if defined(files_fdtable)
 
556
  {
 
557
    struct fdtable *fdt = files_fdtable(current->files);
 
558
    fd_file = rcu_dereference(fdt->fd[fd]);
 
559
  }
 
560
#else
 
561
  {
 
562
    fd_file = current->files->fd[fd];
 
563
  }
 
564
#endif
 
565
 
529
566
#if defined(__LINUX_DCACHE_H)
530
 
  dir_inode  = current->files->fd[fd]->f_dentry->d_inode;
 
567
  dir_inode  = fd_file->f_dentry->d_inode;
531
568
#else
532
 
  dir_inode  = current->files->fd[fd]->f_inode;
 
569
  dir_inode  = fd_file->f_inode;
533
570
#endif
534
571
 
535
572
#ifdef FILE_DEBUG