How greenbone/gsad works
gsad is Greenbone’s HTTP server for the vulnerability-management interface. A user’s request enters the server, is validated and routed by URL and method, then reaches login/session handling, static-content handlers, or GMP request handlers. Manager connection code authenticates to gvmd, which supplies vulnerability-management results for HTTP responses. The tree and excerpts support these principal stages and named capabilities; several runtime files were not sampled, so detailed links between their subsystems are intentionally omitted.
Main entry points: gsad_http_handler_functions.c Request Handlers · gsad_gmp_request.c GMP Requests · gsad_http.c HTTP Service · gsad.c gsad Daemon
Components 22
HTTP Server
- gsad Daemon
src/gsad.c - CLI and Environment
src/gsad_args.c - Runtime Settings
src/gsad_settings.c - HTTP Service
src/gsad_http.c - Logging
src/gsad_logging.c
Request Routing
- Request Handling
src/gsad_http_handle_request.c - Handler Chain
src/gsad_http_handler.c - URL Routing
src/gsad_http_url_handler.c - Method Routing
src/gsad_http_method_handler.c - Request Handlers
src/gsad_http_handler_functions.c - Request Validation
src/gsad_validator.c - Connection Context
src/gsad_connection_info.c
Identity and Sessions
- User and Session
src/gsad_user_session.c - Session State
src/gsad_session.c
Manager Access
- GMP Requests
src/gsad_gmp_request.c - GMP Arguments
src/gsad_gmp_arguments.c - Manager Connection
src/gsad_manager.c - Command Response
src/gsad_command_response_data.c
Web Content
- Static Content
src/gsad_http_handler_functions.c - Internationalization
src/gsad_i18n.c
Other components
- Web User
- gvmd
Connections 23
- Web User → HTTP Service: sends request
- gsad Daemon → CLI and Environment: reads options
- gsad Daemon → HTTP Service: starts service
- HTTP Service → Request Handling: handles request
- Request Handling → Connection Context: records context
- Request Handling → Handler Chain: dispatches
- Handler Chain → URL Routing: routes URL
- URL Routing → Method Routing: selects method
- Method Routing → Request Handlers: calls handler
- Request Handlers → Request Validation: validates input
- Request Handlers → User and Session: sets up identity
- User and Session → Session State: uses session
- Request Handlers → Static Content: serves content
- Request Handlers → GMP Requests: handles GMP
- GMP Requests → GMP Arguments: builds arguments
- GMP Requests → Manager Connection: uses connection
- Manager Connection → gvmd: connects and authenticates
- GMP Requests → gvmd: exchanges GMP
- GMP Requests → Command Response: sets response data
- Static Content → Web User: returns content
- Command Response → Web User: returns result
- Runtime Settings → HTTP Service: configures service
- gsad Daemon → Logging: logs activity