~ubuntu-branches/ubuntu/hardy/openswan/hardy-updates

« back to all changes in this revision

Viewing changes to lib/liblwres/async.c

  • Committer: Bazaar Package Importer
  • Author(s): Rene Mayrhofer
  • Date: 2005-01-27 16:10:11 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050127161011-idgybmyz3vwhpfiq
Tags: 2.3.0-2
Urgency HIGH due to security issue and problems with build-deps in sarge.
* Fix the security issue. Please see
  http://www.idefense.com/application/poi/display?id=190&
      type=vulnerabilities&flashstatus=false
  for more details. Thanks to Martin Schulze for informing me about
  this issue.
  Closes: #292458: Openswan XAUTH/PAM Buffer Overflow Vulnerability
* Added a Build-Dependency to lynx.
  Closes: #291143: openswan: FTBFS: Missing build dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
17
 */
18
18
 
19
 
/* $Id: async.c,v 1.4 2003/12/01 21:45:07 mcr Exp $ */
 
19
/* $Id: async.c,v 1.6 2004/12/02 06:16:19 mcr Exp $ */
20
20
 
21
21
#include <config.h>
22
22
 
78
78
                          lwres_context_t *ctx,
79
79
                          struct lwres_async_state *las)
80
80
{
81
 
        lwres_result_t lwresult;
82
 
        unsigned int i;
83
81
        unsigned int lwflags;
84
82
        unsigned int result;
85
83
 
89
87
        char target_name[1024];
90
88
        unsigned int target_length;
91
89
 
92
 
        int ret2;
93
 
 
94
90
        if (rdclass > 0xffff || rdtype > 0xffff) {
95
91
                result = ERRSET_INVAL;
96
92
                return result;
147
143
                          struct lwres_async_state *las)
148
144
{
149
145
        lwres_result_t lwresult;
150
 
        int ret;
151
146
 
152
147
        if(!las->inqueue) {
153
148
          las->next = ctx->pending;
160
155
        return(lwresult_to_result(lwresult));
161
156
}
162
157
 
 
158
void
 
159
lwres_sanitize_list(lwres_context_t *ctx)
 
160
{
 
161
        volatile struct lwres_async_state *las;
 
162
 
 
163
        las = ctx->pending;
 
164
        while(las != NULL) {
 
165
          REQUIRE(las != (volatile struct lwres_async_state *)0xa5a5a5a5);
 
166
          REQUIRE(las != (volatile struct lwres_async_state *)0x5a5a5a5a);
 
167
          las=las->next;
 
168
        }
 
169
}
163
170
 
164
171
 
165
172
unsigned long
201
208
        char *buffer;
202
209
        struct rrsetinfo *rrset = NULL;
203
210
        int recvlen;
204
 
        int ret, result, i;
 
211
        int ret, result;
 
212
        unsigned int i;
205
213
        lwres_buffer_t            b_in;
206
214
        struct lwres_async_state *las;
207
215
        struct lwres_async_state **las_prev;