Bonjour,
J'ai appliqué un patch à un fichier. 3 Hunk sur 11 est réussi et 8 sur 11 échoue.
--Est ce qu'on peut conclure quelque chose ? ( pour moi le patch a échoué et donc je ne peux pas avancer tant que le problème n'est pas résolu )
En fait c'est un patch pour snort pour que snort fonctionne avec OSSIM.

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
aro-debian:/opt/ossim/snort-2.7.0# patch -p0 < /opt/ossim/contrib/snort/snort-2.1-ossim.patch
patching file src/output-plugins/spo_database.c
Hunk #1 succeeded at 55 (offset 1 line).
Hunk #2 succeeded at 70 with fuzz 1 (offset 1 line).
Hunk #3 FAILED at 184.
Hunk #4 succeeded at 226 with fuzz 2 (offset 4 lines).
Hunk #5 FAILED at 330.
Hunk #6 succeeded at 791 with fuzz 2 (offset 116 lines).
Hunk #7 succeeded at 975 (offset 116 lines).
Hunk #8 succeeded at 1035 (offset 116 lines).
Hunk #9 succeeded at 2107 (offset 373 lines).
Hunk #10 succeeded at 3323 (offset 488 lines).
Hunk #11 FAILED at 3342.
3 out of 11 hunks FAILED -- saving rejects to file src/output-plugins/spo_database.c.rej
Et voici spo_database.c.rej
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
***************
*** 176,181 ****
      PLOGINREC   ms_login;
      DBINT       ms_col;
  #endif
  } DatabaseData;
 
  /* list for lookup of shared data information */
--- 184,191 ----
      PLOGINREC   ms_login;
      DBINT       ms_col;
  #endif
+     char   *logfile;
+     FILE   *file;
  } DatabaseData;
 
  /* list for lookup of shared data information */
***************
*** 320,330 ****
      SharedDatabaseDataNode *current = NULL;
      char * escapedSensorName = NULL;
      char * escapedInterfaceName = NULL;
! 
 
      /* parse the argument list from the rules file */
      data = ParseDatabaseArgs(args);
 
      /* find a unique name for sensor if one was not supplied as an option */
      if(!data->sensor_name)
      {
--- 330,348 ----
      SharedDatabaseDataNode *current = NULL;
      char * escapedSensorName = NULL;
      char * escapedInterfaceName = NULL;
!     char * filename=NULL;
 
      /* parse the argument list from the rules file */
      data = ParseDatabaseArgs(args);
 
+     /* File Log */
+     if (data->logfile != NULL)
+     {
+         filename = ProcessFileOption(data->logfile);
+         data->file = OpenAlertFile(filename);
+         free(filename);
+     }
+ 
      /* find a unique name for sensor if one was not supplied as an option */
      if(!data->sensor_name)
      {
***************
*** 3245,3250 ****
 
      UpdateLastCid(data, data->shared->sid, data->shared->cid-1);
      Disconnect(data); 
      if(data != NULL) 
      {
         free(data);
--- 3342,3354 ----
 
      UpdateLastCid(data, data->shared->sid, data->shared->cid-1);
      Disconnect(data); 
+ 
+     if (data->logfile != NULL)
+         free (data->logfile);
+ 
+     if (data->file != NULL)
+         fclose (data->file);
+ 
      if(data != NULL) 
      {
         free(data);
-- je ne sais pas quoi faire
Merci d'avance pour votre aide