auth.c (c441bfb5f2866de71e092c1b9d866a65978dfe1a) auth.c (3c0d0894320cc517fda657c69939cd0313d0b4e2)
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/ceph/ceph_debug.h>
3
4#include <linux/module.h>
5#include <linux/err.h>
6#include <linux/slab.h>
7
8#include <linux/ceph/types.h>

--- 246 unchanged lines hidden (view full) ---

255 ceph_auth_proto_name(protocol), ret);
256 goto out;
257 }
258 }
259
260 ac->negotiating = false;
261 }
262
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/ceph/ceph_debug.h>
3
4#include <linux/module.h>
5#include <linux/err.h>
6#include <linux/slab.h>
7
8#include <linux/ceph/types.h>

--- 246 unchanged lines hidden (view full) ---

255 ceph_auth_proto_name(protocol), ret);
256 goto out;
257 }
258 }
259
260 ac->negotiating = false;
261 }
262
263 ret = ac->ops->handle_reply(ac, result, payload, payload_end,
263 if (result) {
264 pr_err("auth protocol '%s' mauth authentication failed: %d\n",
265 ceph_auth_proto_name(ac->protocol), result);
266 ret = result;
267 goto out;
268 }
269
270 ret = ac->ops->handle_reply(ac, payload, payload_end,
264 NULL, NULL, NULL, NULL);
265 if (ret == -EAGAIN) {
266 ret = build_request(ac, true, reply_buf, reply_len);
267 goto out;
268 } else if (ret) {
271 NULL, NULL, NULL, NULL);
272 if (ret == -EAGAIN) {
273 ret = build_request(ac, true, reply_buf, reply_len);
274 goto out;
275 } else if (ret) {
269 pr_err("auth protocol '%s' mauth authentication failed: %d\n",
270 ceph_auth_proto_name(ac->protocol), result);
271 goto out;
272 }
273
274 set_global_id(ac, global_id);
275
276out:
277 mutex_unlock(&ac->mutex);
278 return ret;

--- 196 unchanged lines hidden (view full) ---

475}
476
477int ceph_auth_handle_reply_more(struct ceph_auth_client *ac, void *reply,
478 int reply_len, void *buf, int buf_len)
479{
480 int ret;
481
482 mutex_lock(&ac->mutex);
276 goto out;
277 }
278
279 set_global_id(ac, global_id);
280
281out:
282 mutex_unlock(&ac->mutex);
283 return ret;

--- 196 unchanged lines hidden (view full) ---

480}
481
482int ceph_auth_handle_reply_more(struct ceph_auth_client *ac, void *reply,
483 int reply_len, void *buf, int buf_len)
484{
485 int ret;
486
487 mutex_lock(&ac->mutex);
483 ret = ac->ops->handle_reply(ac, 0, reply, reply + reply_len,
488 ret = ac->ops->handle_reply(ac, reply, reply + reply_len,
484 NULL, NULL, NULL, NULL);
485 if (ret == -EAGAIN)
486 ret = build_request(ac, false, buf, buf_len);
487 else
488 WARN_ON(ret >= 0);
489 mutex_unlock(&ac->mutex);
490 return ret;
491}
492
493int ceph_auth_handle_reply_done(struct ceph_auth_client *ac,
494 u64 global_id, void *reply, int reply_len,
495 u8 *session_key, int *session_key_len,
496 u8 *con_secret, int *con_secret_len)
497{
498 int ret;
499
500 mutex_lock(&ac->mutex);
489 NULL, NULL, NULL, NULL);
490 if (ret == -EAGAIN)
491 ret = build_request(ac, false, buf, buf_len);
492 else
493 WARN_ON(ret >= 0);
494 mutex_unlock(&ac->mutex);
495 return ret;
496}
497
498int ceph_auth_handle_reply_done(struct ceph_auth_client *ac,
499 u64 global_id, void *reply, int reply_len,
500 u8 *session_key, int *session_key_len,
501 u8 *con_secret, int *con_secret_len)
502{
503 int ret;
504
505 mutex_lock(&ac->mutex);
501 ret = ac->ops->handle_reply(ac, 0, reply, reply + reply_len,
506 ret = ac->ops->handle_reply(ac, reply, reply + reply_len,
502 session_key, session_key_len,
503 con_secret, con_secret_len);
504 if (!ret)
505 set_global_id(ac, global_id);
506 mutex_unlock(&ac->mutex);
507 return ret;
508}
509

--- 153 unchanged lines hidden ---
507 session_key, session_key_len,
508 con_secret, con_secret_len);
509 if (!ret)
510 set_global_id(ac, global_id);
511 mutex_unlock(&ac->mutex);
512 return ret;
513}
514

--- 153 unchanged lines hidden ---