* sepgsql_get_client_label * * Returns the current security label of the client. All code should use this * routine to get the current label, instead of referring to the client_label_* * variables above. */
| 77 | * variables above. |
| 78 | */ |
| 79 | char * |
| 80 | sepgsql_get_client_label(void) |
| 81 | { |
| 82 | /* trusted procedure client label override */ |
| 83 | if (client_label_func) |
| 84 | return client_label_func; |
| 85 | |
| 86 | /* uncommitted sepgsql_setcon() value */ |
| 87 | if (client_label_pending) |
| 88 | { |
| 89 | pending_label *plabel = llast(client_label_pending); |
| 90 | |
| 91 | if (plabel->label) |
| 92 | return plabel->label; |
| 93 | } |
| 94 | else if (client_label_committed) |
| 95 | return client_label_committed; /* set by sepgsql_setcon() committed */ |
| 96 | |
| 97 | /* default label */ |
| 98 | Assert(client_label_peer != NULL); |
| 99 | return client_label_peer; |
| 100 | } |
| 101 | |
| 102 | /* |
| 103 | * sepgsql_set_client_label |
no outgoing calls
no test coverage detected