]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/gnupg/gnupg-1.4.0/15_free_caps.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / gnupg / gnupg-1.4.0 / 15_free_caps.patch
1 --- /home/weasel/tmp/debian-gpg/gnupg-1.2.5/g10/status.c        2004-07-21 09:59:45.000000000 +0200
2 +++ gnupg-1.2.5/g10/status.c    2004-08-01 20:07:42.071690680 +0200
3 @@ -346,6 +346,9 @@
4  {
5      char buf[100];
6      struct shmid_ds shmds;
7 +#ifdef USE_CAPABILITIES
8 +    cap_t caps;
9 +#endif
10  
11  #ifndef IPC_RMID_DEFERRED_RELEASE
12      atexit( remove_shmid );
13 @@ -371,7 +374,9 @@
14                             (unsigned)shm_size/1024, shm_area, shm_id );
15      if( lock_mem ) {
16  #ifdef USE_CAPABILITIES
17 -       cap_set_proc( cap_from_text("cap_ipc_lock+ep") );
18 +       caps = cap_from_text("cap_ipc_lock=ep");
19 +       cap_set_proc( caps );
20 +       cap_free( caps );
21  #endif
22         /* (need the cast for Solaris with Sun's workshop compilers) */
23         if ( mlock ( (char*)shm_area, shm_size) )
24 @@ -380,7 +385,9 @@
25         else
26             shm_is_locked = 1;
27  #ifdef USE_CAPABILITIES
28 -       cap_set_proc( cap_from_text("cap_ipc_lock+p") );
29 +       caps = cap_from_text("cap_ipc_lock=p");
30 +       cap_set_proc( caps );
31 +       cap_free( caps );
32  #endif
33      }
34  
35 @@ -407,7 +414,9 @@
36  
37      if( lock_mem ) {
38  #ifdef USE_CAPABILITIES
39 -       cap_set_proc( cap_from_text("cap_ipc_lock+ep") );
40 +       caps = cap_from_text("cap_ipc_lock=ep");
41 +       cap_set_proc( caps );
42 +       cap_free( caps );
43  #endif
44  #ifdef IPC_HAVE_SHM_LOCK
45         if ( shmctl (shm_id, SHM_LOCK, 0) )
46 @@ -419,7 +428,9 @@
47         log_info("Locking shared memory %d failed: No way to do it\n", shm_id );
48  #endif
49  #ifdef USE_CAPABILITIES
50 -       cap_set_proc( cap_from_text("cap_ipc_lock+p") );
51 +       caps = cap_from_text("cap_ipc_lock=p");
52 +       cap_set_proc( caps );
53 +       cap_free( caps );
54  #endif
55      }
56  
57 --- /home/weasel/tmp/debian-gpg/gnupg-1.2.5/util/secmem.c       2004-02-24 17:06:58.000000000 +0100
58 +++ gnupg-1.2.5/util/secmem.c   2004-08-01 20:08:10.873412378 +0200
59 @@ -97,12 +97,18 @@
60  {
61  #if defined(USE_CAPABILITIES) && defined(HAVE_MLOCK)
62      int err;
63 +    cap_t caps;
64 +
65 +    caps = cap_from_text("cap_ipc_lock=ep");
66 +    cap_set_proc( caps );
67 +    cap_free( caps );
68  
69 -    cap_set_proc( cap_from_text("cap_ipc_lock+ep") );
70      err = mlock( p, n );
71      if( err && errno )
72         err = errno;
73 -    cap_set_proc( cap_from_text("cap_ipc_lock+p") );
74 +    caps = cap_from_text("cap_ipc_lock=p");
75 +    cap_set_proc( caps );
76 +    cap_free( caps );
77  
78      if( err ) {
79         if( errno != EPERM
80 @@ -301,8 +307,12 @@
81      if( !n ) {
82  #ifndef __riscos__
83  #ifdef USE_CAPABILITIES
84 +       cap_t caps;
85 +
86         /* drop all capabilities */
87 -       cap_set_proc( cap_from_text("all-eip") );
88 +       caps = cap_from_text("all-eip");
89 +       cap_set_proc( caps );
90 +       cap_free( caps );
91  
92  #elif !defined(HAVE_DOSISH_SYSTEM)
93         uid_t uid;