summaryrefslogtreecommitdiff
path: root/source3/libaddns/dnsuprequest.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libaddns/dnsuprequest.c')
-rw-r--r--source3/libaddns/dnsuprequest.c428
1 files changed, 0 insertions, 428 deletions
diff --git a/source3/libaddns/dnsuprequest.c b/source3/libaddns/dnsuprequest.c
deleted file mode 100644
index 9de5ec88ae..0000000000
--- a/source3/libaddns/dnsuprequest.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- Linux DNS client library implementation
-
- Copyright (C) 2006 Krishna Ganugapati <krishnag@centeris.com>
- Copyright (C) 2006 Gerald Carter <jerry@samba.org>
-
- ** NOTE! The following LGPL license applies to the libaddns
- ** library. This does NOT imply that all of Samba is released
- ** under the LGPL
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#include "dns.h"
-
-/*********************************************************************
-*********************************************************************/
-
-static int32 DNSUpdateMarshallZoneSection( HANDLE hSendBuffer,
- DNS_ZONE_RECORD ** ppDNSZoneRecords,
- int16 wZones )
-{
- int32 dwError = 0;
- int32 i = 0;
- int32 dwRead = 0;
- DNS_ZONE_RECORD *pDNSZoneRecord = NULL;
- int16 wnZoneType = 0;
- int16 wnZoneClass = 0;
-
- for ( i = 0; i < wZones; i++ ) {
-
- pDNSZoneRecord = *( ppDNSZoneRecords + i );
- dwError =
- DNSMarshallDomainName( hSendBuffer,
- pDNSZoneRecord->pDomainName );
- BAIL_ON_ERROR( dwError );
-
- wnZoneType = htons( pDNSZoneRecord->wZoneType );
- dwError =
- DNSMarshallBuffer( hSendBuffer,
- ( uint8 * ) & wnZoneType,
- ( int32 ) sizeof( int16 ),
- &dwRead );
- BAIL_ON_ERROR( dwError );
-
- wnZoneClass = htons( pDNSZoneRecord->wZoneClass );
- dwError =
- DNSMarshallBuffer( hSendBuffer,
- ( uint8 * ) & wnZoneClass,
- ( int32 ) sizeof( int16 ),
- &dwRead );
- BAIL_ON_ERROR( dwError );
-
- pDNSZoneRecord++;
- }
-
- error:
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-static int32 DNSUpdateMarshallPRSection( HANDLE hSendBuffer,
- DNS_RR_RECORD ** ppDNSPRRRRecords, int16 wPRs )
-{
- int32 dwError = 0;
- int32 i = 0;
- DNS_RR_RECORD *pDNSPRRRRecord = NULL;
-
-
- for ( i = 0; i < wPRs; i++ ) {
-
- pDNSPRRRRecord = *( ppDNSPRRRRecords + i );
-
- dwError = DNSMarshallRRHeader( hSendBuffer, pDNSPRRRRecord );
- BAIL_ON_ERROR( dwError );
-
- if ( pDNSPRRRRecord->RRHeader.wRDataSize ) {
- dwError =
- DNSMarshallRData( hSendBuffer,
- pDNSPRRRRecord );
- BAIL_ON_ERROR( dwError );
- }
- }
- error:
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-static int32 DNSUpdateMarshallUpdateSection( HANDLE hSendBuffer,
- DNS_RR_RECORD ** ppDNSUpdateRRRecords,
- int16 wZones )
-{
- int32 dwError = 0;
- int32 i = 0;
- DNS_RR_RECORD *pDNSUpdateRRRecord = NULL;
-
- for ( i = 0; i < wZones; i++ ) {
-
- pDNSUpdateRRRecord = *( ppDNSUpdateRRRecords + i );
-
- dwError =
- DNSMarshallRRHeader( hSendBuffer,
- pDNSUpdateRRRecord );
-
- if ( pDNSUpdateRRRecord->RRHeader.wRDataSize ) {
- dwError = DNSMarshallRData( hSendBuffer,
- pDNSUpdateRRRecord );
- BAIL_ON_ERROR( dwError );
- }
-
- }
- error:
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-static int32 DNSUpdateMarshallAdditionalSection( HANDLE hSendBuffer,
- DNS_RR_RECORD **
- ppDNSAdditionalsRRRecords,
- int16 wAdditionals )
-{
- int32 dwError = 0;
- int32 i = 0;
- DNS_RR_RECORD *pDNSAdditionalRRRecord = NULL;
-
- for ( i = 0; i < wAdditionals; i++ ) {
-
- pDNSAdditionalRRRecord = *( ppDNSAdditionalsRRRecords + i );
-
- dwError =
- DNSMarshallRRHeader( hSendBuffer,
- pDNSAdditionalRRRecord );
- BAIL_ON_ERROR( dwError );
-
- if ( pDNSAdditionalRRRecord->RRHeader.wRDataSize ) {
- dwError = DNSMarshallRData( hSendBuffer,
- pDNSAdditionalRRRecord );
- BAIL_ON_ERROR( dwError );
- }
- }
-
- error:
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateSendUpdateRequest2( HANDLE hDNSServer,
- DNS_UPDATE_REQUEST * pDNSRequest )
-{
- int32 dwError = 0;
- int32 dwBytesSent = 0;
- HANDLE hSendBuffer = ( HANDLE ) NULL;
-
- dwError = DNSUpdateBuildRequestMessage( pDNSRequest, &hSendBuffer );
- BAIL_ON_ERROR( dwError );
-
- dwError =
- DNSSendBufferContext( hDNSServer, hSendBuffer, &dwBytesSent );
- BAIL_ON_ERROR( dwError );
-
- error:
-
- if ( hSendBuffer ) {
- DNSFreeSendBufferContext( hSendBuffer );
- }
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateBuildRequestMessage( DNS_UPDATE_REQUEST * pDNSRequest,
- HANDLE * phSendBuffer )
-{
- int32 dwError = 0;
- char DNSMessageHeader[12];
- int16 wnIdentification = 0;
- int16 wnParameter = 0;
- int16 wnZones = 0;
- int16 wnPRs = 0;
- int16 wnUpdates = 0;
- int16 wnAdditionals = 0;
- int32 dwRead = 0;
- HANDLE hSendBuffer = ( HANDLE ) NULL;
-
- dwError = DNSCreateSendBuffer( &hSendBuffer );
- BAIL_ON_ERROR( dwError );
-
- wnIdentification = htons( pDNSRequest->wIdentification );
- memcpy( DNSMessageHeader, ( char * ) &wnIdentification, 2 );
-
- wnParameter = htons( pDNSRequest->wParameter );
- memcpy( DNSMessageHeader + 2, ( char * ) &wnParameter, 2 );
-
- wnZones = htons( pDNSRequest->wZones );
- memcpy( DNSMessageHeader + 4, ( char * ) &wnZones, 2 );
-
- wnPRs = htons( pDNSRequest->wPRs );
- memcpy( DNSMessageHeader + 6, ( char * ) &wnPRs, 2 );
-
- wnUpdates = htons( pDNSRequest->wUpdates );
- memcpy( DNSMessageHeader + 8, ( char * ) &wnUpdates, 2 );
-
- wnAdditionals = htons( pDNSRequest->wAdditionals );
- memcpy( DNSMessageHeader + 10, ( char * ) &wnAdditionals, 2 );
-
- dwError =
- DNSMarshallBuffer( hSendBuffer, ( uint8 * ) DNSMessageHeader,
- 12, &dwRead );
- BAIL_ON_ERROR( dwError );
-
- if ( pDNSRequest->wZones ) {
- dwError =
- DNSUpdateMarshallZoneSection( hSendBuffer,
- pDNSRequest->
- ppZoneRRSet,
- pDNSRequest->wZones );
- BAIL_ON_ERROR( dwError );
- }
-
- if ( pDNSRequest->wPRs ) {
- dwError =
- DNSUpdateMarshallPRSection( hSendBuffer,
- pDNSRequest->ppPRRRSet,
- pDNSRequest->wPRs );
- BAIL_ON_ERROR( dwError );
- }
-
- if ( pDNSRequest->wUpdates ) {
- dwError =
- DNSUpdateMarshallUpdateSection( hSendBuffer,
- pDNSRequest->
- ppUpdateRRSet,
- pDNSRequest->
- wUpdates );
- BAIL_ON_ERROR( dwError );
- }
-
- if ( pDNSRequest->wAdditionals ) {
- dwError =
- DNSUpdateMarshallAdditionalSection( hSendBuffer,
- pDNSRequest->
- ppAdditionalRRSet,
- pDNSRequest->
- wAdditionals );
- BAIL_ON_ERROR( dwError );
- }
-#if 0
- DNSDumpSendBufferContext( hSendBuffer );
-#endif
-
- *phSendBuffer = hSendBuffer;
-
- return dwError;
-
- error:
-
- if ( hSendBuffer ) {
- DNSFreeSendBufferContext( hSendBuffer );
- }
-
- *phSendBuffer = ( HANDLE ) NULL;
- return dwError;
-}
-
-
-/*********************************************************************
-*********************************************************************/
-
-void DNSUpdateFreeRequest( DNS_UPDATE_REQUEST * pDNSRequest )
-{
- return;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateAddZoneSection( DNS_UPDATE_REQUEST * pDNSRequest,
- DNS_ZONE_RECORD * pDNSZone )
-{
- int32 dwNumZones = 0;
- int32 dwError = 0;
-
- dwNumZones = pDNSRequest->wZones;
-
- dwError = DNSReallocMemory( ( uint8 * ) pDNSRequest->ppZoneRRSet,
- ( void * ) &pDNSRequest->ppZoneRRSet,
- ( dwNumZones +
- 1 ) * sizeof( DNS_ZONE_RECORD * )
- );
- BAIL_ON_ERROR( dwError );
-
- *( pDNSRequest->ppZoneRRSet + dwNumZones ) = pDNSZone;
-
- pDNSRequest->wZones += 1;
-
- error:
-
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateAddAdditionalSection( DNS_UPDATE_REQUEST * pDNSRequest,
- DNS_RR_RECORD * pDNSRecord )
-{
- int32 dwNumAdditionals = 0;
- int32 dwError = 0;
-
- dwNumAdditionals = pDNSRequest->wAdditionals;
- dwError = DNSReallocMemory( pDNSRequest->ppAdditionalRRSet,
- ( void * ) &pDNSRequest->
- ppAdditionalRRSet,
- ( dwNumAdditionals +
- 1 ) * sizeof( DNS_RR_RECORD * ) );
- BAIL_ON_ERROR( dwError );
-
- *( pDNSRequest->ppAdditionalRRSet + dwNumAdditionals ) = pDNSRecord;
-
- pDNSRequest->wAdditionals += 1;
-
- error:
- return dwError;
-}
-
-int32 DNSUpdateAddPRSection( DNS_UPDATE_REQUEST * pDNSRequest,
- DNS_RR_RECORD * pDNSRecord )
-{
- int32 dwNumPRs = 0;
- int32 dwError = 0;
-
- dwNumPRs = pDNSRequest->wPRs;
- dwError = DNSReallocMemory( pDNSRequest->ppPRRRSet,
- ( void * ) &pDNSRequest->ppPRRRSet,
- ( dwNumPRs +
- 1 ) * sizeof( DNS_RR_RECORD * ) );
- BAIL_ON_ERROR( dwError );
-
- *( pDNSRequest->ppPRRRSet + dwNumPRs ) = pDNSRecord;
-
- pDNSRequest->wPRs += 1;
-
- error:
- return dwError;
-}
-
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateAddUpdateSection( DNS_UPDATE_REQUEST * pDNSRequest,
- DNS_RR_RECORD * pDNSRecord )
-{
- int32 dwError = 0;
- int16 wNumUpdates = 0;
-
- wNumUpdates = pDNSRequest->wUpdates;
- dwError = DNSReallocMemory( pDNSRequest->ppUpdateRRSet,
- ( void * ) &pDNSRequest->ppUpdateRRSet,
- ( wNumUpdates +
- 1 ) * sizeof( DNS_RR_RECORD * ) );
- BAIL_ON_ERROR( dwError );
-
- *( pDNSRequest->ppUpdateRRSet + wNumUpdates ) = pDNSRecord;
-
- pDNSRequest->wUpdates += 1;
-
- error:
- return dwError;
-}
-
-/*********************************************************************
-*********************************************************************/
-
-int32 DNSUpdateCreateUpdateRequest( DNS_UPDATE_REQUEST ** ppDNSRequest )
-{
- int32 dwError = 0;
- DNS_UPDATE_REQUEST *pDNSRequest = NULL;
-
- dwError =
- DNSAllocateMemory( sizeof( DNS_UPDATE_REQUEST ),
- ( void * ) &pDNSRequest );
- BAIL_ON_ERROR( dwError );
-
- dwError = DNSGenerateIdentifier( &pDNSRequest->wIdentification );
- BAIL_ON_ERROR( dwError );
-
- pDNSRequest->wParameter = 0x2800;
-
- *ppDNSRequest = pDNSRequest;
-
- return dwError;
-
- error:
-
- if ( pDNSRequest ) {
- DNSUpdateFreeRequest( pDNSRequest );
- }
- *ppDNSRequest = NULL;
- return dwError;
-}