Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
BC
public
belle-sip
Commits
2eb17045
Commit
2eb17045
authored
Nov 04, 2013
by
Simon Morlat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add domain name to auth events
parent
a3227d79
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
12 deletions
+18
-12
include/belle-sip/listener.h
include/belle-sip/listener.h
+3
-0
src/auth_event.c
src/auth_event.c
+9
-2
src/belle_sip_internal.h
src/belle_sip_internal.h
+3
-4
src/provider.c
src/provider.c
+3
-6
No files found.
include/belle-sip/listener.h
View file @
2eb17045
...
...
@@ -89,6 +89,9 @@ BELLESIP_EXPORT void belle_sip_auth_event_set_userid(belle_sip_auth_event_t* eve
BELLESIP_EXPORT
const
char
*
belle_sip_auth_event_get_realm
(
const
belle_sip_auth_event_t
*
event
);
BELLESIP_EXPORT
void
belle_sip_auth_event_set_realm
(
belle_sip_auth_event_t
*
event
,
const
char
*
value
);
BELLESIP_EXPORT
const
char
*
belle_sip_auth_event_get_domain
(
const
belle_sip_auth_event_t
*
event
);
BELLESIP_EXPORT
void
belle_sip_auth_event_set_domain
(
belle_sip_auth_event_t
*
event
,
const
char
*
value
);
BELLESIP_EXPORT
const
char
*
belle_sip_auth_event_get_passwd
(
const
belle_sip_auth_event_t
*
event
);
BELLESIP_EXPORT
void
belle_sip_auth_event_set_passwd
(
belle_sip_auth_event_t
*
event
,
const
char
*
value
);
...
...
src/auth_event.c
View file @
2eb17045
...
...
@@ -25,21 +25,26 @@ GET_SET_STRING(belle_sip_auth_event,username)
GET_SET_STRING
(
belle_sip_auth_event
,
userid
)
GET_SET_STRING
(
belle_sip_auth_event
,
realm
)
GET_SET_STRING
(
belle_sip_auth_event
,
domain
)
GET_SET_STRING
(
belle_sip_auth_event
,
passwd
)
GET_SET_STRING
(
belle_sip_auth_event
,
ha1
)
GET_SET_STRING
(
belle_sip_auth_event
,
distinguished_name
)
belle_sip_auth_event_t
*
belle_sip_auth_event_create
(
const
char
*
realm
,
const
char
*
username
)
{
belle_sip_auth_event_t
*
belle_sip_auth_event_create
(
const
char
*
realm
,
const
belle_sip_header_from_t
*
from
)
{
belle_sip_auth_event_t
*
result
=
belle_sip_new0
(
belle_sip_auth_event_t
);
belle_sip_uri_t
*
uri
=
belle_sip_header_address_get_uri
(
BELLE_SIP_HEADER_ADDRESS
(
from
));
belle_sip_auth_event_set_realm
(
result
,
realm
);
belle_sip_auth_event_set_username
(
result
,
username
);
belle_sip_auth_event_set_username
(
result
,
belle_sip_uri_get_user
(
uri
));
belle_sip_auth_event_set_domain
(
result
,
belle_sip_uri_get_host
(
uri
));
return
result
;
}
void
belle_sip_auth_event_destroy
(
belle_sip_auth_event_t
*
event
)
{
DESTROY_STRING
(
event
,
username
);
DESTROY_STRING
(
event
,
userid
);
DESTROY_STRING
(
event
,
realm
);
DESTROY_STRING
(
event
,
domain
);
DESTROY_STRING
(
event
,
passwd
);
DESTROY_STRING
(
event
,
ha1
);
DESTROY_STRING
(
event
,
distinguished_name
);
...
...
@@ -63,11 +68,13 @@ void belle_sip_auth_event_set_client_certificates_chain(belle_sip_auth_event_t*
belle_sip_signing_key_t
*
belle_sip_auth_event_get_signing_key
(
const
belle_sip_auth_event_t
*
event
)
{
return
event
->
key
;
}
void
belle_sip_auth_event_set_signing_key
(
belle_sip_auth_event_t
*
event
,
belle_sip_signing_key_t
*
value
)
{
if
(
event
->
key
)
belle_sip_object_unref
(
event
->
key
);
event
->
key
=
value
;
if
(
event
->
key
)
belle_sip_object_ref
(
event
->
key
);
}
belle_sip_auth_mode_t
belle_sip_auth_event_get_mode
(
const
belle_sip_auth_event_t
*
event
)
{
return
event
->
mode
;
}
...
...
src/belle_sip_internal.h
View file @
2eb17045
...
...
@@ -858,20 +858,19 @@ struct belle_sip_transaction_terminated_event{
struct
belle_sip_auth_event
{
belle_sip_auth_mode_t
mode
;
char
*
username
;
char
*
userid
;
char
*
realm
;
char
*
passwd
;
char
*
ha1
;
const
char
*
distinguished_name
;
char
*
domain
;
char
*
distinguished_name
;
belle_sip_certificates_chain_t
*
cert
;
belle_sip_signing_key_t
*
key
;
};
belle_sip_auth_event_t
*
belle_sip_auth_event_create
(
const
char
*
realm
,
const
char
*
username
);
belle_sip_auth_event_t
*
belle_sip_auth_event_create
(
const
char
*
realm
,
const
belle_sip_header_from_t
*
from
);
void
belle_sip_auth_event_set_distinguished_name
(
belle_sip_auth_event_t
*
event
,
const
char
*
value
);
...
...
src/provider.c
View file @
2eb17045
...
...
@@ -858,11 +858,9 @@ int belle_sip_provider_add_authorization(belle_sip_provider_t *p, belle_sip_requ
belle_sip_list_t
*
head
;
belle_sip_header_www_authenticate_t
*
authenticate
;
belle_sip_header_authorization_t
*
authorization
;
belle_sip_header_address_t
*
from
;
belle_sip_header_from_t
*
from
;
belle_sip_auth_event_t
*
auth_event
;
authorization_context_t
*
auth_context
;
belle_sip_uri_t
*
from_uri
;
const
char
*
ha1
;
char
computed_ha1
[
33
];
int
result
=
0
;
...
...
@@ -917,14 +915,13 @@ int belle_sip_provider_add_authorization(belle_sip_provider_t *p, belle_sip_requ
/*put authorization header if passwd found*/
call_id
=
belle_sip_message_get_header_by_type
(
BELLE_SIP_MESSAGE
(
request
),
belle_sip_header_call_id_t
);
from
=
BELLE_SIP_HEADER_ADDRESS
(
belle_sip_message_get_header
(
BELLE_SIP_MESSAGE
(
request
),
BELLE_SIP_FROM
));
from_uri
=
belle_sip_header_address_get_uri
(
from
);
from
=
belle_sip_message_get_header_by_type
(
request
,
belle_sip_header_from_t
);
if
((
head
=
auth_context_lst
=
belle_sip_provider_get_auth_context_by_call_id
(
p
,
call_id
)))
{
/*we assume there no existing auth headers*/
for
(;
auth_context_lst
!=
NULL
;
auth_context_lst
=
auth_context_lst
->
next
)
{
/*clear auth info*/
auth_context
=
(
authorization_context_t
*
)
auth_context_lst
->
data
;
auth_event
=
belle_sip_auth_event_create
(
auth_context
->
realm
,
belle_sip_uri_get_user
(
from_uri
)
);
auth_event
=
belle_sip_auth_event_create
(
auth_context
->
realm
,
from
);
/*put data*/
/*call listener*/
BELLE_SIP_PROVIDER_INVOKE_LISTENERS
(
p
->
listeners
,
process_auth_requested
,
auth_event
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment