Skip to content

manager.c: Add CLI command to kick AMI sessions. #486

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

InterLinked1
Copy link
Contributor

This adds a CLI command that can be used to manually kick specific AMI sessions.

Resolves: #485

UserNote: The "manager kick session" CLI command now allows kicking a specified AMI session.

@InterLinked1
Copy link
Contributor Author

cherry-pick-to: 18
cherry-pick-to: 20
cherry-pick-to: 21

Copy link
Member

@gtjoseph gtjoseph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

session kicked is being leaked....
From leak sanitizer...

*CLI> manager show connected
  Username         IP Address                                               Start       Elapsed     FileDes   HttpCnt   Read   Write
  test             127.0.0.1                                                1702314226  6           26        0         04079  04851
*CLI> manager kick session 26
Kicking manager session connected using file descriptor 26
*CLI> [Dec 11 10:04:30]   == Manager 'test' kicked from 127.0.0.1
*CLI> manager show connected
  Username         IP Address                                               Start       Elapsed     FileDes   HttpCnt   Read   Write
0 users connected.
*CLI> core stop gracefully

Direct leak of 1576 byte(s) in 1 object(s) allocated from:
    #0 0x7fc4b281393a in __interceptor_calloc (/lib64/liblsan.so.0+0x1393a) (BuildId: 076f298eb96a5f09f5ad6f392a25f85db2d186d4)
    #1 0x464911 in __ast_repl_calloc /usr/src/asterisk/asterisk/main/astmm.c:1537
    #2 0x464b38 in __ast_calloc /usr/src/asterisk/asterisk/main/astmm.c:1607
    #3 0x46643e in internal_ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:697
    #4 0x4667b6 in __ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:771
    #5 0x658439 in build_mansession /usr/src/asterisk/asterisk/main/manager.c:2357
    #6 0x66a440 in session_do /usr/src/asterisk/asterisk/main/manager.c:7655
    #7 0x5df776 in handle_tcptls_connection /usr/src/asterisk/asterisk/main/tcptls.c:274
    #8 0x5fcf6d in dummy_start /usr/src/asterisk/asterisk/main/utils.c:1607
    #9 0x7fc4b16ac896 in start_thread (/lib64/libc.so.6+0x8e896) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df)

Indirect leak of 136 byte(s) in 1 object(s) allocated from:
    #0 0x7fc4b281393a in __interceptor_calloc (/lib64/liblsan.so.0+0x1393a) (BuildId: 076f298eb96a5f09f5ad6f392a25f85db2d186d4)
    #1 0x464911 in __ast_repl_calloc /usr/src/asterisk/asterisk/main/astmm.c:1537
    #2 0x464b38 in __ast_calloc /usr/src/asterisk/asterisk/main/astmm.c:1607
    #3 0x46643e in internal_ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:697
    #4 0x4667b6 in __ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:771
    #5 0x46a600 in __ao2_container_alloc_hash /usr/src/asterisk/asterisk/main/astobj2_hash.c:1079
    #6 0x46a67e in __ao2_container_alloc_list /usr/src/asterisk/asterisk/main/astobj2_hash.c:1089
    #7 0x6584bf in build_mansession /usr/src/asterisk/asterisk/main/manager.c:2363
    #8 0x66a440 in session_do /usr/src/asterisk/asterisk/main/manager.c:7655
    #9 0x5df776 in handle_tcptls_connection /usr/src/asterisk/asterisk/main/tcptls.c:274
    #10 0x5fcf6d in dummy_start /usr/src/asterisk/asterisk/main/utils.c:1607
    #11 0x7fc4b16ac896 in start_thread (/lib64/libc.so.6+0x8e896) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df)

Indirect leak of 136 byte(s) in 1 object(s) allocated from:
    #0 0x7fc4b281393a in __interceptor_calloc (/lib64/liblsan.so.0+0x1393a) (BuildId: 076f298eb96a5f09f5ad6f392a25f85db2d186d4)
    #1 0x464911 in __ast_repl_calloc /usr/src/asterisk/asterisk/main/astmm.c:1537
    #2 0x464b38 in __ast_calloc /usr/src/asterisk/asterisk/main/astmm.c:1607
    #3 0x46643e in internal_ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:697
    #4 0x4667b6 in __ao2_alloc /usr/src/asterisk/asterisk/main/astobj2.c:771
    #5 0x46a600 in __ao2_container_alloc_hash /usr/src/asterisk/asterisk/main/astobj2_hash.c:1079
    #6 0x46a67e in __ao2_container_alloc_list /usr/src/asterisk/asterisk/main/astobj2_hash.c:1089
    #7 0x658481 in build_mansession /usr/src/asterisk/asterisk/main/manager.c:2362
    #8 0x66a440 in session_do /usr/src/asterisk/asterisk/main/manager.c:7655
    #9 0x5df776 in handle_tcptls_connection /usr/src/asterisk/asterisk/main/tcptls.c:274
    #10 0x5fcf6d in dummy_start /usr/src/asterisk/asterisk/main/utils.c:1607
    #11 0x7fc4b16ac896 in start_thread (/lib64/libc.so.6+0x8e896) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df)

This adds a CLI command that can be used to manually
kick specific AMI sessions.

Resolves: asterisk#485

UserNote: The "manager kick session" CLI command now
allows kicking a specified AMI session.
@asteriskteam
Copy link
Contributor

This PR has been marked stale because it has been in "Changes Requested" or "submitter-action-required" state for 28 days or more. Please make the requested changes within 14 days or the PR will be closed.

@gtjoseph gtjoseph added cherry-pick-test Trigger dry run of cherry-picks and removed stale labels Mar 21, 2024
@github-actions github-actions bot added cherry-pick-testing-in-progress Cherry-Pick tests in progress cherry-pick-checks-passed Cherry-Pick checks passed cherry-pick-gates-passed Cherry-Pick gates passed and removed cherry-pick-test Trigger dry run of cherry-picks cherry-pick-testing-in-progress Cherry-Pick tests in progress labels Mar 21, 2024
@asterisk-org-access-app asterisk-org-access-app bot merged commit ef7788e into asterisk:master Mar 21, 2024
Copy link

Successfully merged to branch master and cherry-picked to ["18","20","21"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[new-feature]: manager.c: Allow kicking specific manager sessions
5 participants