include last-req's of type 6 and 7, if applicable
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2724 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		@@ -404,16 +404,25 @@ as_rep(KDC_REQ *req,
 | 
				
			|||||||
     *
 | 
					     *
 | 
				
			||||||
     * To fix this, always send at least one no-op last_req
 | 
					     * To fix this, always send at least one no-op last_req
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * If there's a pw_end we will use that, otherwise just a dummy lr.
 | 
					     * If there's a pw_end or valid_end we will use that,
 | 
				
			||||||
 | 
					     * otherwise just a dummy lr.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    ek.last_req.len = 1;
 | 
					    ek.last_req.val = malloc(2 * sizeof(*ek.last_req.val));
 | 
				
			||||||
    ALLOC(ek.last_req.val);
 | 
					    ek.last_req.len = 0;
 | 
				
			||||||
    if (client->pw_end) {
 | 
					    if (client->pw_end) {
 | 
				
			||||||
	ek.last_req.val->lr_type  = 6;
 | 
						ek.last_req.val[ek.last_req.len].lr_type  = 6;
 | 
				
			||||||
	ek.last_req.val->lr_value = *client->pw_end;
 | 
						ek.last_req.val[ek.last_req.len].lr_value = *client->pw_end;
 | 
				
			||||||
    } else {
 | 
						++ek.last_req.len;
 | 
				
			||||||
	ek.last_req.val->lr_type  = 0;
 | 
					    }
 | 
				
			||||||
	ek.last_req.val->lr_value = 0;
 | 
					    if (client->valid_end) {
 | 
				
			||||||
 | 
						ek.last_req.val[ek.last_req.len].lr_type  = 7;
 | 
				
			||||||
 | 
						ek.last_req.val[ek.last_req.len].lr_value = *client->valid_end;
 | 
				
			||||||
 | 
						++ek.last_req.len;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (ek.last_req.len == 0) {
 | 
				
			||||||
 | 
						ek.last_req.val[ek.last_req.len].lr_type  = 0;
 | 
				
			||||||
 | 
						ek.last_req.val[ek.last_req.len].lr_value = 0;
 | 
				
			||||||
 | 
						++ek.last_req.len;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    ek.nonce = b->nonce;
 | 
					    ek.nonce = b->nonce;
 | 
				
			||||||
    if (client->valid_end || client->pw_end) {
 | 
					    if (client->valid_end || client->pw_end) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user