Giter Club home page Giter Club logo

inex / ixp-manager Goto Github PK

View Code? Open in Web Editor NEW
356.0 41.0 158.0 48.62 MB

Full stack web application powering peering at over 200 Internet Exchange Points (IXPs) globally.

Home Page: https://www.ixpmanager.org/

License: GNU General Public License v2.0

PHP 93.74% JavaScript 0.66% Shell 3.12% CSS 0.18% Ruby 0.05% Perl 0.81% Dockerfile 0.09% Hack 0.41% Vue 0.01% SCSS 0.15% Blade 0.79%
ixp-manager ixps internet-exchange-point ixp inex poweringpeering peering

ixp-manager's People

Contributors

aduitsis avatar agsq11 avatar aleksbelytskyi avatar barryo avatar d307473 avatar dependabot[bot] avatar elonhub avatar fooelisa avatar jetrodn avatar kieber avatar lindsayhill avatar listerr avatar matejv avatar nickhilliard avatar oasys avatar pierky avatar rawk avatar rlaager avatar rowanthorpe avatar sparkeh avatar will-h avatar yannrobin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ixp-manager's Issues

Config variables for bird route server config files

When running tools/runtime/do-build-rs-configuration-bird.sh
config files for bird are generated.

But there are a couple of variables not filed in /usr/local/etc/bird-rs1-vlan100-ipv4.conf
and /usr/local/etc/bird-rs1-vlan100-ipv6.conf .

define routeserveraddress = ;
router id ;
listen bgp address ;

In which config file these variables have to be defined?

Separate "route server client" checkboxes for IPv4 and IPv6

This is a feature request:

On the page "Home / VLAN Interfaces / Edit VLAN Interface"
the "route server client" checkbox is currently for both, IPv4 and IPv6.

We have a couple of peers that only peer with IPv6 with our route servers,
e.g. interoute, retn ...

To avoid confusion, it would be great to have two separate checkboxes,

IPv4 route server client
IPv6 route server client

and proper bird route server config files for IPv4 and IPv6, later on.

Thanks, Thorleif

Option to change/turn off default phone number suggestions

Two users have mentioned they have:

"+353 86 876 543 / +353 1 765 4321" in their info for phone/fax info.

Can there be an option to turn this off, or put it underneath the text box instead of in it?

(Also we'd quite like "+44 1234 5678") but this seems to be a library thing?)

Maintenance Announcements / Diary

Suggested new feature:

  • Page for upcoming scheduled maintenance
  • Select affected switches and generate a list of affected members (Name, ASN, IPv4, IPv6 addresses)
  • Add notification when members login, especially affected members, link to maintenance pages.

Location variable for route server configuration

Feature Request:

Hey, just reviewed the new great route server config documentation coming with version 3.5.3. When I look to the config variables like cid - customer ID and so one, I'm currently missing a variable for the location. The location is associated in IXP Manger with the switch -> port -> IP and there's also a location short name in the DB.

We'd like to put location short name in the neighbor description as we currently (with OpenBGPD) use this to have a good overview where a peer is connected from a BGP Session perspective. And very helpful if there are any switch related = location related incidents. Here an example for our neighbor description:

$locationshortname-$proto-$cshortname

gives a very nice output in OpenBGPD:

>bgpctl sh

Neighbor                   AS    MsgRcvd    MsgSent  OutQ Up/Down  State/PrfRcvd

g60-v4-tirastel          1547      89945     168908     0 04w3d05h      5/50
k15-v6-syseleven        25291     140439    1088605     0 03w0d07h      9/10
k15-v4-syseleven        25291     140457     247021     0 03w0d07h     25/40
k15-v4-telecolumbus     20880     213010     374395     0 06w0d04h     15/50
k15-v6-telecolumbus     20880     137667    1073379     0 06w1d00h      1/20
n15-v6-interoute         8928     255611    2013573     0 05w4d12h    228/500
n15-v6-xamine           50933     320080    2223393     0 04w2d00h      1/10
a36-v4-kde              31334     506046     955990     0 14w0d09h     81/200
a36-v6-kde              31334     505429    2862111     0 14w0d09h     19/20
n15-v6-versatel          8881     524014    2976777     0 18w0d06h     41/90
n15-v4-versatel          8881     532435     999547     0 18w0d06h    497/900
...

Issue Downloading Libraries

Following the instructions I get to the libraries downloading and see the following error.

root@stats:/usr/local/ixp# ./bin/library-init.sh
Smarty exists - skipping!
Bootstrap-Zend-Framework exists - skipping!
Minify exists - skipping!
Bootbox exists - skipping!
Throbber.js exists - skipping!
Zend exists - skipping!
Cloning into ./bin/../library/OSS-Framework.git...
remote: Counting objects: 1396, done.
remote: Compressing objects: 100% (542/542), done.
remote: Total 1396 (delta 1053), reused 1160 (delta 819)
Receiving objects: 100% (1396/1396), 9.84 MiB | 52 KiB/s, done.
Resolving deltas: 100% (1053/1053), done.
error: refs/remotes/origin/master does not point to a valid object!
error: Trying to write ref refs/heads/master with nonexistant object a7c1302db3bd51f77ecd0394a4e1bccdc6987b41
fatal: Cannot update the ref 'HEAD'.
root@stats:/usr/local/ixp#

I am doing this on Debian 6.

I only cloned the repo instead of forking? Could this be the cause?

get-presentation in Meetings->Member View fails

At {IXPM_URL}/meeting/read when I try to click the icon to the right of a presentation heading - namely {IXPM_URL}/meeting-item/get-presentation/id/1 - to download the presentation it fails with the message:

Catchable fatal error: Object of class DateTime could not be converted to string in /opt/ixpmanager/application/controllers/MeetingItemController.php on line 134

I don't know if it helps, but this thread might be loosely related. The discussion is in the context of Symfony, but it seems it is a purely Doctrine2 problem...

OSS-Framework fails to pull from get hub

error: refs/remotes/origin/master does not point to a valid object!
error: Trying to write ref refs/heads/master with nonexistant object 8edce2413dca7825f01086f4a286c6299e551d6a
fatal: Cannot update the ref 'HEAD'.

Clean install on CentOS 6.4, followed the recipe to the tee. Things started going wrong here, when I went to clone the submodules.

Recommendations? Looks like this was updated recently

Thanks,
Brian

Generic "Forms" capability

Would like a feature to add generic forms feature to send e-mail for example order forms, upgrade requests or other requests.

Would be helpful if it could populate some data about the currently logged in member or user data.

Option to present a list of ports they want the action on, for example to cancel a port, ask which one.

Doesn't need to be anything fancy to start with e.g. just e-mail out.

Future versions could have a new member registration form which doesn't require a login, but populates the information in to the member database as a prospective member.

CSS coping badly with increased page-zoom

When first running the manager my browser's default zoom-level caused the header to expand to two lines (the dropdown box wrapped), which is not such a problem by itself. However, the first line of each page was then being masked by the header, rather than being pushed down as well (obviously some absolute positioning has been used in CSS). As a side-note because it was the first I'd seen of the layout I didn't know how it should look, so it took a while to realise it was just a problem with zoom-levels...

Installation

Hi,

I have copied the files to the folder in my web server but i am unable to install the application. Can you give me like a little tutorial or instructions on what to do

regards
Muga

IRRDB Prefixes with BGPQ3 ERROR: Invalid controller specified (irrdb-cli)

I have installed BGPQ3 and tested
root@portal:/usr/local/ixp# bgpq3 -Jl eltel AS20597
policy-options {
replace:
prefix-list eltel {
81.9.0.0/20;
81.9.32.0/20;
81.9.96.0/20;
81.222.128.0/20;
81.222.192.0/18;
85.249.8.0/21;
85.249.224.0/19;
89.112.0.0/17;
217.170.64.0/19;
}
}

I added the irrdb.bgpq.path = '/usr/local/bin/bgpq3' to application.ini

root@portal:/usr/local/ixp# /usr/local/ixp//bin/ixptool.php -a irrdb-cli.update-prefix-db -v
ERROR: Invalid controller specified (irrdb-cli)
#0 /usr/local/ixp/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Simple), Object(Zend_Controller_Response_Cli))
#1 /usr/local/ixp/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /usr/local/ixp/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /usr/local/ixp/bin/ixptool.php(167): Zend_Application->run()

when I try to update prefix prefix filter table

Showing Graphs from MRTG Server

Hey.
Thanks for the s/w I installed it and logged in for the first time. My main agenda for today is to inquire how to display the MRTG graphs. Currently I want to display the aggregate traffic graph on the IXP Manager Homepage.How do i do it on the main config file to pick the graph. Our graphs link is http://mtambo.kixp.or.ke/mrtg/aggregate.html My thinking is if I can manage that one I will be able to do it for the rest of the members.

thanks
Muga

Error running during database creation.

root@stats:/usr/local/ixp/bin# ./doctrine2-cli.php orm:schema-tool:create
PHP Parse error: syntax error, unexpected '[' in /usr/local/ixp/library/OSS-Framework.git/OSS/Resource/Doctrine2.php on line 88

Parse error: syntax error, unexpected '[' in /usr/local/ixp/library/OSS-Framework.git/OSS/Resource/Doctrine2.php on line 88
root@stats:/usr/local/ixp/bin#

Suggested extra step in upgrade instructions, and for updating CHANGELOG

I recommend that the upgrade instructions include an extra (fourth) sub-step of step 5 when views-files have been changed, for when someone has skinned them and should mirror any relevant changes across to their skinned-files. The CHANGELOG could also give a heads-up when such changes might be necessary, like it presently does for schema changes, etc, e.g.

... [snip] ...

Schema update required:

CREATE TABLE i_like_traffic_lights (
    id BIGINT AUTO_INCREMENT NOT NULL, 
    colour VARCHAR(255) NOT NULL
)

Views changed:

header.phtml
auth/login.phtml

 (if you have skinned these files, mirror any relevant changes to them)

... [snip] ...

Issues with MRTG Overall Peering Graphs / Aggregate Graphs

Hi,

I had several issues in setting up the overall peering graphs.

a. Whitespace Problem

When editing "Home / Infrastructures / Edit -> Infrastructure #1"

in the field "Infrastructure Aggregate Graph Name"

whitespaces should be filtered in the web form already, as the mrtg.cfg file will be broken with white spaces in the target e.g. [ixp_peering-bcix total-bits]

b. capital letters Problem

When editing "Home / Infrastructures / Edit -> Infrastructure #1"

in the field "Infrastructure Aggregate Graph Name"

capital letters should be handled correctly, as the generated files could not be accessed by IXP-Manager frontend later on. e.g. when you use "BCIX-Total" instead of "bcix-total" in the "Infrastructure Aggregate Graph Name"

logs:

Could not load /var/mrtg/ixp_peering-BCIX-Total-bits-month.png for mrtg/retrieveImageAction

c. Missing lines in mrtg.cfg for Directory[ixp_peering-bcix-total-bits] and pkts

Wondering why there are no mrtg config lines
for the directory for the aggregated graphs?

e.g.

Directory[ixp_peering-bcix-total-bits]: aggregate
Directory[ixp_peering-bcix-total-pkts]: aggregate

In my case .png files are put into directory "total" but web frontedn looks in the
mrtg base directory:

logs:

Could not load /var/mrtg/ixp_peering-bcix-total-bits-month.png for mrtg/retrieveImageAction

Files are in /var/mrtg/total/ixp_peering-bcix-total-bits-month.png

(Fixed this with a symbolic link, now)

Thanks, Thorleif

Have a "private" directory analogous to the "public" one,with files only loadable by logged in users

At the moment files (e.g. images) placed in the [IXPM_URL]/public directory for use by IXP-Manager are also publicly (not-logged-in) accessible by URL. It would be good to have an analogous [IXPM_URL]/private directory which would be a clearly understood place where IXP-Manager can load images, etc from for a logged in user only (checks login cookie/session). I guess something similar could be achieved by the far more complex method of "wrapping" content inside files with smarty logic in the views directory, but I believe as a simple (and easy-to-understand) option for "non-publicly-viewable" stuff this would also be useful. Example use-case: image files for embedding in documentation pages suitable for logged in users, but not for public browsing...

(Optionally/configurably?) keep and display a history of MACs per peer

It would be good if it was possible to store and display not only present MACs, but to keep a history of the changes per peer (similarly to how historical user login times can be stored). If users don't need this info and don't want the bloat there could be a config-option for enabling/disabling...

On a clean install adding MACs just seems to loop without getting a form

On a clean IXP-Manager install with typical minimal config, when I visit:

_URL_/ixp/mac-address/add

and try to follow the "Do you want to add one" link: it just reloads the page repeatedly. This was tested on Iceweasel (Firefox) and Chromium (Chrome). Site running on localhost using very recent Mysql and Apache.

config file generation issues with router-cli.gen-server-conf

Hey,

there are some issues with the config file generation,

a. A config file will not be generated, if no file is already available

./bin/ixptool.php -a router-cli.gen-server-conf -p vlanid=1,target=bird,proto=4 --config=/tmp/bird_v4.conf

ERROR: Cannot open / read specificed configuration file

b. Config file stays empty, output only send to STDOUT

touch /tmp/bird_v4.conf

./bin/ixptool.php -a router-cli.gen-server-conf -p vlanid=1,target=bird,proto=4 --config=/tmp/bird_v4.conf

wc -l  /tmp/bird_v4.conf
0 /tmp/bird_v4.conf

This is on ubuntu 12.04 LTS with PHP 5.4.19-1+debphp.org~precise+3

e-mail to notes script

Possible new feature:
script that can read e-mail on stdin and append a note to a member record.

Needs some mechanism to determine which member and if public or private note entry, e.g by address like "membername-private@notes...." or subject, or by ASN etc.

Subject -> Note title
Message body -> note content.

Am happy to write the mail server integration bits.

This would enable other applications to send notes to ixp-manager.

Errors / Discards in MRTG Overall Peering Graphs / Aggregate Graphs

Hi,

in MRTG Overall Peering Graphs / Aggregate Graphs there also drop down menus
for Errors and Discards. When I look to the mrtg.conf generated by IXP Manager
there are only two targets generated Target[ixp_peering-bcix-total-bits] and Target[ixp_peering-bcix-total-pkts].

Two solutions:

  1. Generate the targets for Errors and Discards in the mrtg.conf
  2. Remove Errors / Discards from the html code for Overall Peering Graphs / Aggregate Graphs

Some details missing from installation wiki pages

On two pages I think one instruction should change slightly, another should be added, some extra information added, and two typos fixed. I don't know if you want me editing your wiki directly (or if I can?), so I edited the relevant pages on my own fork of the repo. Please feel free to see the diff against those two pages and incorporate the changes if you want. The diff from your latest version to mine (presently) for those two pages is at:

https://github.com/rowanthorpe/IXP-Manager/wiki/_compare/00cbd62b19526b26463a62513d891a2e5e3d9ed4...5f57534650ff0a4be06a5c6a321a1b7e4811b359

MySQL commands in install instructions (& elsewhere?) don't set/warn re: utf8, collation, etc

I don't know how you'd prefer the docs updated for this so I will just raise it as an issue, and perhaps it will not only be a docs issue. Mysql clients and servers (except perhaps the most recent versions) still default to latin1, so in the instructions at https://github.com/inex/IXP-Manager/wiki/Installation-03-Database-Creation I recommend adding --default-character-set=utf8 to the mysql invocation, or better yet utf8mb4 if you consider this guy's warning important enough. This obviously goes hand-in-hand with my PR #57 which ensured PHP connects in utf8 too... and perhaps the perl-scripts need to be checked similarly too?

NB: there is also the issue of default collation (e.g. utf8-general-ci or utf8-unicode-ci, etc).

HTML / Text only e-mails

Had a couple of moans about HTML only e-mails (for new user registrations etc)..

Is there a way to do text/plain only or have a text alternative?

Login Passwords are stored and can be browsed in plaintext

The passwords are not hashed in any way during use, or in the database. This is problematic for two reasons:

  • The superuser can browse all of the users' login passwords.
  • If there is a vulnerability (e.g. sql-injection) in any of IXP-Manager's code it would then require no extra work to access/expose all login details.

Debug output shows non-existent Doctrine index type YES_NO being referenced

When "debug" is on the following URLs show varying between one and ~hundred repeats of the following warning: Notice: Undefined index: YES_NO in /[PATH]/[XX].php on line [X]

/customer/details
/customer/unread-notes
/customer/list
/user/list
/contact/list
/contact-group/list
/switch/list
/switch-port/list
/mac-address/list

From scanning the code it seems YES_NO is not defined where other similarly used index types are, but I don't know Doctrine well enough to fix it myself.

Although these are apparently "warnings", I believe that what is causing them is also breaking other things in a less obvious way for me, so diagnosing this might also fix those...

I think the problem is where $FE_COL_TYPES is defined in: library/OSS-Framework.git/OSS/Controller/Action/Trait/Doctrine2Frontend.php, if that helps...

Password policy bug

User profile page and user password recovery pages:

https://xxx/profile/index
https://xxx/auth/reset-password/username/(some _user)/token/8HCHZBKsNV3UBeMjepVxAgLySFnGWQAaJYqPXYGv

Allow short passwords to be set.

User admin page enforces a password length:
https://xxx/contact/edit/uid/99
https://xxxt/default/contact/edit/id/525

  • So if a user creates or changed their password to less than 8 chars, cannot then edit this user's settings because it rejects with: "'pass' is less than 8 characters long".

ixpm_pass_1

Adding Customers

I am getting an error when I click the add button for Customers.

Simon

Sflow Documentation for Configuration

Hi,

with the current Sflow Documentation ( Configuration part)
https://github.com/inex/IXP-Manager/wiki/Installing-Sflow-Support
I'm currently not able to setup a running environment.

Lot's of questions (for ubuntu lts 12.04): e.g.

  • How do I configure the sflow collector daemon?
  • What is the data flow between sflow collector daemon, rrdcached, php web frontend?

And an advanced config section:

  • How can I seperate the sflow collector daemon and data from the ixpmanager server itself

Thanks, Thorleif

Passwords set/updated via web-interface are not hashed even with hashing set

When I have resources.auth.oss.pwhash = "bcrypt" in application/configs/application.ini if I manually bcrypt-hash user passwords and update them directly in the database there is no problem for authorisation, but when I use the web-interface to modify passwords it resets them as plaintext regardless of the config setting.

Display last changed date/time for details and contacts

In comparing the data from our billing and other databases, we need to know if the member has supplied more recent information.

It would be good to display in the member details and contact details, when the information was last changed.

Bits in Overall peering graphs

Hey,

when I compare the In- and Out-bits in the "Overall peering graphs",
numbers are different to the values which a generated by MRTG itself in the "ixp_peering-bcix-total-bits.html" file.

See the two screenshots attached. Feature or Bug ?

mrtg_total_mrtg_html
mrtg_total_ixp_manager

Cheers, Thorleif

welcome.phtml: genUrl controller generates http:// but not https:// in welcome mail

Hi,

in _skins/bcix/user/email/html/welcome.phtml (derrived from the inex template)
I use the following code to generate the lost pwd link:

<a href="{genUrl controller="auth" action="lost-password"}">{genUrl controller="auth" action="lost-password"}</a>

but http://www.bcix.de/ixp/auth/lost-password instead of https://www.bcix.de/ixp/auth/lost-password is generated.

With <a href="{$options.identity.url}">{$options.identity.url}</a> the correct https link is generated.

Any tips for that?

Alphabetical sorting of IP addresses rather than numerical

When clicking the arrows on the web-interface to sort ipv[46]addresses, they are sorted "alphabetically", e.g.:

192.168.1.1
192.168.1.10
192.168.1.2

The sort needs to be changed to "numerical" for these to be meaningful. This also impacts on ipv6 addresses, keeping in mind that it needs to "numerically" sort hex-numbers .

Remove from mailman list when a contact is deleted

When a contact is deleted, delete from mailing list if marked as subscribed via IXP Manager.

This will help us clean the mailing list as users register and delete old contacts etc.

Possibly add option for a list that is only managed via IXP Manager (i.e, if they are not on IXP manager then they aren't added to the list) as we can configure multiple lists in mailman and have umbrella lists or subscribe them to each other, so one can be managed manually and one via IXP Manager.

Error in contact preview

logged as myself.

User reporting an error

https://portal.lonap.net/contact/view/id/117

Can Login

Notice: Undefined index: row in /srv/ixp/var/templates_c/333dcdbb5c5bafc472d97892bcd0fdb33fb9a335.file.list-column-uid.phtml.php on line 27

Notice: Trying to get property of non-object in /srv/ixp/var/templates_c/333dcdbb5c5bafc472d97892bcd0fdb33fb9a335.file.list-column-uid.phtml.php on line 27

Have tried clearing the cache but error seems to stay.

Seems mostly cosmetic and specific to the contact 'preview' view.

Rob

APC info tool recursively wraps itself

With each click on any of the action buttons in the utility at (URL)/ixp/utils/apcinfo the utility recursively wraps its own frame in a new IXP-Manager header and side panel, resulting in a "hall of mirrors effect" after a few clicks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.