View | Details | Raw Unified | Return to bug 3008 | Differences between
and this patch

Collapse All | Expand All

(-)a/auth-pam.c (-4 / +8 lines)
Lines 266-271 pam_getenvlist(pam_handle_t *pamh) Link Here
266
}
266
}
267
#endif
267
#endif
268
268
269
#ifndef HAVE_PAM_PUTENV
270
static int
271
pam_putenv(pam_handle_t *pamh, const char *name_value)
272
{
273
	return PAM_SUCCESS;
274
}
275
#endif /* HAVE_PAM_PUTENV */
276
269
/*
277
/*
270
 * Some platforms, notably Solaris, do not enforce password complexity
278
 * Some platforms, notably Solaris, do not enforce password complexity
271
 * rules during pam_chauthtok() if the real uid of the calling process
279
 * rules during pam_chauthtok() if the real uid of the calling process
Lines 360-372 import_environments(struct sshbuf *b) Link Here
360
	for (i = 0; i < num_env; i++) {
368
	for (i = 0; i < num_env; i++) {
361
		if ((r = sshbuf_get_cstring(b, &env, NULL)) != 0)
369
		if ((r = sshbuf_get_cstring(b, &env, NULL)) != 0)
362
			fatal("%s: buffer error: %s", __func__, ssh_err(r));
370
			fatal("%s: buffer error: %s", __func__, ssh_err(r));
363
#ifdef HAVE_PAM_PUTENV
364
		/* Errors are not fatal here */
371
		/* Errors are not fatal here */
365
		if ((r = pam_putenv(sshpam_handle, env)) != PAM_SUCCESS) {
372
		if ((r = pam_putenv(sshpam_handle, env)) != PAM_SUCCESS) {
366
			error("PAM: pam_putenv: %s",
373
			error("PAM: pam_putenv: %s",
367
			    pam_strerror(sshpam_handle, r));
374
			    pam_strerror(sshpam_handle, r));
368
		}
375
		}
369
#endif
370
		/* XXX leak env? */
376
		/* XXX leak env? */
371
	}
377
	}
372
#endif
378
#endif
Lines 1205-1211 int Link Here
1205
do_pam_putenv(char *name, char *value)
1211
do_pam_putenv(char *name, char *value)
1206
{
1212
{
1207
	int ret = 1;
1213
	int ret = 1;
1208
#ifdef HAVE_PAM_PUTENV
1209
	char *compound;
1214
	char *compound;
1210
	size_t len;
1215
	size_t len;
1211
1216
Lines 1215-1221 do_pam_putenv(char *name, char *value) Link Here
1215
	snprintf(compound, len, "%s=%s", name, value);
1220
	snprintf(compound, len, "%s=%s", name, value);
1216
	ret = pam_putenv(sshpam_handle, compound);
1221
	ret = pam_putenv(sshpam_handle, compound);
1217
	free(compound);
1222
	free(compound);
1218
#endif
1219
1223
1220
	return (ret);
1224
	return (ret);
1221
}
1225
}

Return to bug 3008