Changeset 1204
- Timestamp:
- 03/04/10 08:19:24 (5 months ago)
- Location:
- trunk/unxsBind
- Files:
-
- 3 modified
-
mysqlrad.h (modified) (1 diff)
-
tresourcefunc.h (modified) (11 diffs)
-
trrtype.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/unxsBind/mysqlrad.h
r1079 r1204 25 25 #include <mysql/mysql.h> 26 26 char *crypt(const char *key, const char *salt); 27 28 //This creates a dependency on provided tRRType.txt table fie 29 #define RRTYPE_A 1 30 #define RRTYPE_NS 2 31 #define RRTYPE_MX 3 32 #define RRTYPE_HINFO 4 33 #define RRTYPE_CNAME 5 34 #define RRTYPE_TXT 6 35 #define RRTYPE_PTR 7 36 #define RRTYPE_SRV 8 37 #define RRTYPE_AAAA 9 27 38 28 39 -
trunk/unxsBind/tresourcefunc.h
r1079 r1204 198 198 } 199 199 } 200 else if(!strcmp(cRRType,"AAAA")) 201 { 202 unsigned h1=0; 203 unsigned h2=0; 204 unsigned h3=0; 205 unsigned h4=0; 206 unsigned h5=0; 207 unsigned h6=0; 208 unsigned h7=0; 209 unsigned h8=0; 210 211 //Insure these are empty 212 cParam2[0]=0; 213 214 if(!strcmp(cZone+strlen(cZone)-5,".arpa")) 215 tResource("Can not add AAAA records to arpa zones"); 216 sscanf(cParam1,"%x:%x:%x:%x:%x:%x:%x:%x",&h1,&h2,&h3,&h4,&h5,&h6,&h7,&h8); 217 218 //Leading 0's. Done via sprintf below. 219 220 //First checks 221 if(!h1) 222 { 223 guMode=uMode; 224 tResource("IPv6 number can not have a 0 in first 16 bit hex word."); 225 } 226 227 if(!h8) 228 { 229 guMode=uMode; 230 tResource("IPv6 number can not have a 0 in last 16 bit hex word."); 231 } 232 233 //Compress empty words: Double colon. Can only be used once. 234 //Trying KISS method here 235 //6 consecutive 0 case 236 if(!h2 && !h3 && !h4 && !h5 && !h6 && !h7) 237 sprintf(cParam1,"%x::%x",h1,h8); 238 //5 consecutive 0 cases 239 else if(!h3 && !h4 && !h5 && !h6 && !h7) 240 sprintf(cParam1,"%x:%x::%x",h1,h2,h8); 241 else if(!h2 && !h3 && !h4 && !h5 && !h6) 242 sprintf(cParam1,"%x::%x:%x",h1,h7,h8); 243 //4 consecutive 0 cases 244 else if(!h4 && !h5 && !h6 && !h7) 245 sprintf(cParam1,"%x:%x:%x::%x",h1,h2,h3, h8); 246 else if(!h3 && !h4 && !h5 && !h6) 247 sprintf(cParam1,"%x:%x::%x:%x",h1,h2, h7,h8); 248 else if(!h2 && !h3 && !h4 && !h5) 249 sprintf(cParam1,"%x::%x:%x:%x",h1, h6,h7,h8); 250 //3 consecutive 0 cases 251 else if(!h5 && !h6 && !h7) 252 sprintf(cParam1,"%x:%x:%x:%x::%x",h1,h2,h3,h4, h8); 253 else if(!h4 && !h5 && !h6) 254 sprintf(cParam1,"%x:%x:%x::%x:%x",h1,h2,h3, h7,h8); 255 else if(!h3 && !h4 && !h5) 256 sprintf(cParam1,"%x:%x::%x:%x:%x",h1,h2, h6,h7,h8); 257 else if(!h2 && !h3 && !h4) 258 sprintf(cParam1,"%x::%x:%x:%x:%x",h1, h5,h6,h7,h8); 259 //2 consecutive 0 cases 260 else if(!h6 && !h7) 261 sprintf(cParam1,"%x:%x:%x:%x:%x::%x",h1,h2,h3,h4,h5, h8); 262 else if(!h5 && !h6) 263 sprintf(cParam1,"%x:%x:%x:%x::%x:%x",h1,h2,h3,h4, h7,h8); 264 else if(!h4 && !h5) 265 sprintf(cParam1,"%x:%x:%x::%x:%x:%x",h1,h2,h3, h6,h7,h8); 266 else if(!h3 && !h4) 267 sprintf(cParam1,"%x:%x::%x:%x:%x:%x",h1,h2, h5,h6,h7,h8); 268 else if(!h2 && !h3) 269 sprintf(cParam1,"%x::%x:%x:%x:%x:%x",h1, h4,h5,h6,h7,h8); 270 //0 consecutive 0 case, i.e. no double colon case 271 else if(1) 272 sprintf(cParam1,"%x:%x:%x:%x:%x:%x:%x:%x",h1,h2,h3,h4,h5,h6,h7,h8); 273 274 275 } 200 276 else if(!strcmp(cRRType,"PTR")) 201 277 { … … 429 505 //New PTR record in automated arpa zones 430 506 //exception allowed 431 if(!uZoneOwner && uRRType!= 7)507 if(!uZoneOwner && uRRType!=RRTYPE_PTR) 432 508 { 433 509 guMode=0; … … 440 516 uModBy=0;//Never modified 441 517 442 if(uAddArpaPTR && uRRType== 1)518 if(uAddArpaPTR && uRRType==RRTYPE_A) 443 519 { 444 520 char cFQDN[512]; … … 508 584 UpdateSerialNum(uZone); 509 585 sprintf(gcQuery,"INSERT INTO tDeletedResource SET uDeletedResource='%u',uZone='%u'," 510 "cName='%s',uTTL='%u',uRRType='%u',cParam1='%s',cParam2='%s',cParam3='%s',cParam4='%s'," 586 "cName='%s',uTTL='%u',uRRType='%u',cParam1='%s',cParam2='%s'," 587 "cParam3='%s',cParam4='%s'," 511 588 "cComment='%s',uOwner='%u',uCreatedBy=1,uCreatedDate=UNIX_TIMESTAMP(NOW())", 512 589 uResource, … … 550 627 RRCheck(2002); 551 628 uModBy=guLoginClient; 552 if(uAddArpaPTR && uRRType== 1)629 if(uAddArpaPTR && uRRType==RRTYPE_A) 553 630 { 554 631 char cFQDN[512]; … … 656 733 { 657 734 sprintf(gcQuery,"INSERT INTO tResource SET uZone=%u,cName='%.99s'," 658 "uRRType= 2,cParam1='%.99s.',"735 "uRRType=%u,cParam1='%.99s.'," 659 736 "cComment='DelegationWizard created',uOwner=%u," 660 737 "uCreatedDate=UNIX_TIMESTAMP(NOW())", 661 738 uZone 662 739 ,cZone 740 ,RRTYPE_NS 663 741 ,cNSSet[i] 664 742 ,guLoginClient); … … 680 758 sprintf(cParam1,"%u-%u",uStartBlock,uNumIPs-1); 681 759 sprintf(gcQuery,"INSERT INTO tResource SET uZone=%u,cName='%.15s'," 682 "uRRType= 2,cParam1='%.99s.'"760 "uRRType=%u,cParam1='%.99s.'" 683 761 ",cComment='DelegationWizard created',uOwner=%u," 684 762 "uCreatedDate=UNIX_TIMESTAMP(NOW())", 685 763 uZone 686 764 ,cParam1 765 ,RRTYPE_NS 687 766 ,cNSSet[i] 688 767 ,guLoginClient); … … 803 882 printf("<p><u>Enter required data</u><br>"); 804 883 printf(LANG_NBB_CONFIRMNEW); 805 if( strcmp(cZone+strlen(cZone)-5,".arpa"))884 if(uRRType==RRTYPE_A && strcmp(cZone+strlen(cZone)-5,".arpa")) 806 885 { 807 886 printf("<br><input title='For some RR types this will add a PTR entry to" … … 829 908 printf("<p><u>Review record data</u><br>"); 830 909 printf(LANG_NBB_CONFIRMMOD); 831 if(uRRType== 1&& strcmp(cZone+strlen(cZone)-5,".arpa"))910 if(uRRType==RRTYPE_A && strcmp(cZone+strlen(cZone)-5,".arpa")) 832 911 { 833 912 printf("<br><input title='For some RR types this will add a PTR entry to" … … 1114 1193 //Only allow one PTR entry per FQDN for same uOwner 1115 1194 1116 sprintf(gcQuery,"DELETE FROM tResource WHERE uRRType= 7AND cParam1='%s' AND uOwner=%u",1117 cParam1,uSourceZoneOwner);1195 sprintf(gcQuery,"DELETE FROM tResource WHERE uRRType=%u AND cParam1='%s' AND uOwner=%u", 1196 RRTYPE_PTR,cParam1,uSourceZoneOwner); 1118 1197 mysql_query(&gMysql,gcQuery); 1119 1198 if(mysql_errno(&gMysql)) … … 1125 1204 1126 1205 sprintf(cName,"%u",d); 1127 sprintf(gcQuery,"INSERT INTO tResource SET uZone=%u,cName='%.16s',uRRType= 7,cParam1='%.511s',cComment='%.99s',"1206 sprintf(gcQuery,"INSERT INTO tResource SET uZone=%u,cName='%.16s',uRRType=%u,cParam1='%.511s',cComment='%.99s'," 1128 1207 "uOwner=%u,uCreatedBy=%u,uCreatedDate=UNIX_TIMESTAMP(NOW())", 1129 1208 uInZone 1130 1209 ,cName 1210 ,RRTYPE_PTR 1131 1211 ,cParam1 1132 1212 ,cComment -
trunk/unxsBind/trrtype.c
r166 r1204 387 387 //cLabel 388 388 OpenRow(LANG_FL_tRRType_cLabel,"black"); 389 printf("<input title='%s' type=text name=cLabel value=\"%s\" size= 40 maxlength=32 "389 printf("<input title='%s' type=text name=cLabel value=\"%s\" size=60 maxlength=32 " 390 390 ,LANG_FT_tRRType_cLabel,EncodeDoubleQuotes(cLabel)); 391 391 if(guPermLevel>=0 && uMode) … … 412 412 //cParam1Func 413 413 OpenRow(LANG_FL_tRRType_cParam1Func,"black"); 414 printf("<input title='%s' type=text name=cParam1Func value=\"%s\" size= 40 maxlength=32 "414 printf("<input title='%s' type=text name=cParam1Func value=\"%s\" size=60 maxlength=32 " 415 415 ,LANG_FT_tRRType_cParam1Func,EncodeDoubleQuotes(cParam1Func)); 416 416 if(guPermLevel>=0 && uMode) … … 425 425 //cParam2Func 426 426 OpenRow(LANG_FL_tRRType_cParam2Func,"black"); 427 printf("<input title='%s' type=text name=cParam2Func value=\"%s\" size= 40 maxlength=32 "427 printf("<input title='%s' type=text name=cParam2Func value=\"%s\" size=60 maxlength=32 " 428 428 ,LANG_FT_tRRType_cParam2Func,EncodeDoubleQuotes(cParam2Func)); 429 429 if(guPermLevel>=0 && uMode) … … 438 438 //cParam3Func 439 439 OpenRow(LANG_FL_tRRType_cParam3Func,"black"); 440 printf("<input title='%s' type=text name=cParam3Func value=\"%s\" size= 40 maxlength=32 "440 printf("<input title='%s' type=text name=cParam3Func value=\"%s\" size=60 maxlength=32 " 441 441 ,LANG_FT_tRRType_cParam3Func,EncodeDoubleQuotes(cParam3Func)); 442 442 if(guPermLevel>=0 && uMode) … … 451 451 //cParam4Func 452 452 OpenRow(LANG_FL_tRRType_cParam4Func,"black"); 453 printf("<input title='%s' type=text name=cParam4Func value=\"%s\" size= 40 maxlength=32 "453 printf("<input title='%s' type=text name=cParam4Func value=\"%s\" size=60 maxlength=32 " 454 454 ,LANG_FT_tRRType_cParam4Func,EncodeDoubleQuotes(cParam4Func)); 455 455 if(guPermLevel>=0 && uMode) … … 464 464 //cParam1Label 465 465 OpenRow(LANG_FL_tRRType_cParam1Label,"black"); 466 printf("<input title='%s' type=text name=cParam1Label value=\"%s\" size= 40 maxlength=32 "466 printf("<input title='%s' type=text name=cParam1Label value=\"%s\" size=60 maxlength=32 " 467 467 ,LANG_FT_tRRType_cParam1Label,EncodeDoubleQuotes(cParam1Label)); 468 468 if(guPermLevel>=0 && uMode) … … 477 477 //cParam2Label 478 478 OpenRow(LANG_FL_tRRType_cParam2Label,"black"); 479 printf("<input title='%s' type=text name=cParam2Label value=\"%s\" size= 40 maxlength=32 "479 printf("<input title='%s' type=text name=cParam2Label value=\"%s\" size=60 maxlength=32 " 480 480 ,LANG_FT_tRRType_cParam2Label,EncodeDoubleQuotes(cParam2Label)); 481 481 if(guPermLevel>=0 && uMode) … … 490 490 //cParam3Label 491 491 OpenRow(LANG_FL_tRRType_cParam3Label,"black"); 492 printf("<input title='%s' type=text name=cParam3Label value=\"%s\" size= 40 maxlength=32 "492 printf("<input title='%s' type=text name=cParam3Label value=\"%s\" size=60 maxlength=32 " 493 493 ,LANG_FT_tRRType_cParam3Label,EncodeDoubleQuotes(cParam3Label)); 494 494 if(guPermLevel>=0 && uMode) … … 503 503 //cParam4Label 504 504 OpenRow(LANG_FL_tRRType_cParam4Label,"black"); 505 printf("<input title='%s' type=text name=cParam4Label value=\"%s\" size= 40 maxlength=32 "505 printf("<input title='%s' type=text name=cParam4Label value=\"%s\" size=60 maxlength=32 " 506 506 ,LANG_FT_tRRType_cParam4Label,EncodeDoubleQuotes(cParam4Label)); 507 507 if(guPermLevel>=0 && uMode) … … 516 516 //cParam1Tip 517 517 OpenRow(LANG_FL_tRRType_cParam1Tip,"black"); 518 printf("<input title='%s' type=text name=cParam1Tip value=\"%s\" size= 40 maxlength=100 "518 printf("<input title='%s' type=text name=cParam1Tip value=\"%s\" size=60 maxlength=100 " 519 519 ,LANG_FT_tRRType_cParam1Tip,EncodeDoubleQuotes(cParam1Tip)); 520 520 if(guPermLevel>=0 && uMode) … … 529 529 //cParam2Tip 530 530 OpenRow(LANG_FL_tRRType_cParam2Tip,"black"); 531 printf("<input title='%s' type=text name=cParam2Tip value=\"%s\" size= 40 maxlength=100 "531 printf("<input title='%s' type=text name=cParam2Tip value=\"%s\" size=60 maxlength=100 " 532 532 ,LANG_FT_tRRType_cParam2Tip,EncodeDoubleQuotes(cParam2Tip)); 533 533 if(guPermLevel>=0 && uMode) … … 542 542 //cParam3Tip 543 543 OpenRow(LANG_FL_tRRType_cParam3Tip,"black"); 544 printf("<input title='%s' type=text name=cParam3Tip value=\"%s\" size= 40 maxlength=100 "544 printf("<input title='%s' type=text name=cParam3Tip value=\"%s\" size=60 maxlength=100 " 545 545 ,LANG_FT_tRRType_cParam3Tip,EncodeDoubleQuotes(cParam3Tip)); 546 546 if(guPermLevel>=0 && uMode) … … 555 555 //cParam4Tip 556 556 OpenRow(LANG_FL_tRRType_cParam4Tip,"black"); 557 printf("<input title='%s' type=text name=cParam4Tip value=\"%s\" size= 40 maxlength=100 "557 printf("<input title='%s' type=text name=cParam4Tip value=\"%s\" size=60 maxlength=100 " 558 558 ,LANG_FT_tRRType_cParam4Tip,EncodeDoubleQuotes(cParam4Tip)); 559 559 if(guPermLevel>=0 && uMode) … … 586 586 //cNameFunc 587 587 OpenRow(LANG_FL_tRRType_cNameFunc,"black"); 588 printf("<input title='%s' type=text name=cNameFunc value=\"%s\" size= 40 maxlength=32 "588 printf("<input title='%s' type=text name=cNameFunc value=\"%s\" size=60 maxlength=32 " 589 589 ,LANG_FT_tRRType_cNameFunc,EncodeDoubleQuotes(cNameFunc)); 590 590 if(guPermLevel>=0 && uMode) … … 599 599 //cNameLabel 600 600 OpenRow(LANG_FL_tRRType_cNameLabel,"black"); 601 printf("<input title='%s' type=text name=cNameLabel value=\"%s\" size= 40 maxlength=32 "601 printf("<input title='%s' type=text name=cNameLabel value=\"%s\" size=60 maxlength=32 " 602 602 ,LANG_FT_tRRType_cNameLabel,EncodeDoubleQuotes(cNameLabel)); 603 603 if(guPermLevel>=0 && uMode) … … 612 612 //cNameTip 613 613 OpenRow(LANG_FL_tRRType_cNameTip,"black"); 614 printf("<input title='%s' type=text name=cNameTip value=\"%s\" size= 40 maxlength=100 "614 printf("<input title='%s' type=text name=cNameTip value=\"%s\" size=60 maxlength=100 " 615 615 ,LANG_FT_tRRType_cNameTip,EncodeDoubleQuotes(cNameTip)); 616 616 if(guPermLevel>=0 && uMode)
